Commit Graph

94 Commits

Author SHA1 Message Date
Serendipity ab5a437c1b docs: AI 升级实施计划 (9 tasks) 2026-05-31 15:38:09 +08:00
Serendipity 0d9b21d4c5 docs: AI 升级专业版设计文档 2026-05-31 15:33:51 +08:00
Serendipity 2ad05cab4b chore: 提交五子棋v2审查修复计划与前期优化
- 调整core/src/board.rs测试代码格式,移除多余逗号
- 重构core/src/record.rs日期测试断言为多行格式,提升可读性
- 更新Cargo.lock,添加网络对战所需的加密与网络依赖包
- 新增完整的v2版本审查修复计划文档,包含14个优先级分批的修复任务,覆盖bug修复、测试补全、国际化、功能新增等全方面优化内容
2026-05-31 15:28:59 +08:00
Serendipity bda917ce37 feat: Online 模式前端 UI — 房间管理/连接状态/remote-move/禁悔棋
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
v2.0.1-net
2026-05-31 15:16:40 +08:00
Serendipity 9aa9de6b74 feat: 添加 host_game/join_game/send_move/send_undo/send_resign 网络命令
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 15:13:55 +08:00
Serendipity 33c1f8d8d4 feat: 实现 NetworkLoop::run — Server/Client renet 主循环
添加 renet2_netcode 依赖,使用 renet2 + renet2_netcode + renetcode2
三 crate 架构实现完整网络循环。Server 端监听 UDP 端口并通过
channel 广播游戏消息,Client 端连接并双工通信。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 15:10:18 +08:00
Serendipity 92894d2904 feat: 重写 network.rs — NetMessage/NetworkCmd/NetworkEvent + bincode serde 测试
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 15:00:54 +08:00
Serendipity af64a99987 chore: 添加 renet2 + bincode 网络库依赖 2026-05-31 14:59:37 +08:00
Serendipity 6da7b7a43b feat: GameConfig 新增 hostPort 字段
- Rust GameConfig 添加 host_port: u16(#[serde(default)],默认 0)
- TypeScript GameConfig 添加 hostPort?: number(可选,匹配其他带默认值字段的模式)
2026-05-31 14:58:45 +08:00
Serendipity 105aa968e0 docs: 网络对战实施计划 (10 tasks) 2026-05-31 14:56:55 +08:00
Serendipity f2898880eb docs: 网络对战功能设计文档 2026-05-31 14:51:40 +08:00
Serendipity 966ecaef3d chore: bump version to 2.0.1 v2.0.1 2026-05-31 13:56:24 +08:00
Serendipity a16041cd67 fix: 计时器改为双方独立象棋钟 + 超时自动判负
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:53:47 +08:00
Serendipity 063a181a6e fix: AI 使用 Arc 实现真正的后台线程执行,不阻塞 Tauri 命令线程池
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:53:06 +08:00
Serendipity 3331d567c0 refactor: 提取 refreshBoard status 计算逻辑提高可读性 2026-05-31 13:52:10 +08:00
Serendipity 4ed66377d2 feat: 实现认输和保存棋谱功能
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:47:50 +08:00
Serendipity dddfd035c6 feat: 接入 LLM AI 引擎到 GUI,GameConfig 支持 useLlm 切换 AI 类型
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:46:45 +08:00
Serendipity 75c980e2b6 feat: 添加棋盘大小选择器 (9x9 ~ 19x19)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:45:02 +08:00
Serendipity c1c64b0155 perf: AI 搜索移到独立后台线程避免阻塞 GUI
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:43:25 +08:00
Serendipity e7a32ef8df fix: 补全 i18n 国际化,消除所有硬编码中文
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:43:02 +08:00
Serendipity 955396a74d feat: 添加 env_logger 基础日志系统
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:41:06 +08:00
Serendipity ec4aae37d9 fix: 棋谱日期从 Unix 时间戳改为 ISO 8601 可读格式 2026-05-31 13:40:28 +08:00
Serendipity 3bbbe73b1f test: 添加前端核心逻辑和棋盘渲染单元测试
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:40:21 +08:00
Serendipity ac62da2ad8 feat: 添加 React Error Boundary 组件防止渲染异常白屏 2026-05-31 13:40:05 +08:00
Serendipity e1bf667519 fix: 禁用未完成的网络对战入口,标注开发中 2026-05-31 13:40:02 +08:00
Serendipity 43d50bd9b2 docs: 修正 CONTRIBUTING.md 中不存在的 tests/ e2e/ 目录引用 2026-05-31 13:39:52 +08:00
Serendipity cd9c3a79ab fix: 修复悔棋奇数步崩溃及空历史错误语义 (NoHistory)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:38:04 +08:00
Serendipity 8c3289e631 chore: 删除未使用的 get_board IPC 命令,修复 clippy needless_range_loop 警告
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:36:42 +08:00
Serendipity dd84ff95d5 feat: 添加图标文件,支持不同分辨率的应用界面 2026-05-31 13:28:40 +08:00
Serendipity 5598f72cf7 docs: 添加 CLAUDE.md 项目文档
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:20:05 +08:00
Serendipity 834d61f896 fix: 移除 GameMode 的 camelCase 重命名,修复前端传 Local/VsAi 无法匹配
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:09:11 +08:00
Serendipity 0b8130a71f fix: main.tsx 导入 i18n 初始化模块,修复界面显示原始 key
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:06:02 +08:00
Serendipity 90de72d67a fix: 打包目标改为 NSIS,移除需要 WiX 的 MSI
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 13:04:49 +08:00
Serendipity 605e01803f docs: 重写 README 并更新 .gitignore 适配 v2.0 架构
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 12:57:27 +08:00
Serendipity ffcc7a7675 fix: 代码审查修复 — serde camelCase/CSP/TS检查/replay/undo/AI禁手/星位/未使用依赖
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 12:51:53 +08:00
Serendipity bb4f393229 chore: 删除旧 C+IUP 代码,仅保留 Rust+Tauri+React v2.0 代码 2026-05-31 12:48:37 +08:00
Serendipity 4126b9f74c docs: 开源文件 — LICENSE/CHANGELOG/CODE_OF_CONDUCT/CONTRIBUTING/SECURITY/README
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:29:00 +08:00
Serendipity e395ea424b feat(frontend): App 路由集成 + 木纹风格 CSS
App.tsx 添加 menu/game/replay 三页面路由切换,MainMenu 新增
onReplayStart 属性区分对局与回放入口。App.css 实现经典木纹
视觉风格(深棕底色、米黄文字、皮革纹理按钮),index.css 基础
重置。修复 tsconfig 中 erasableSyntaxOnly 无效选项并安装
@types/node。
2026-05-31 00:27:34 +08:00
Serendipity 0138d80f2a feat(frontend): 对局视图 + 回放视图 + 计时器 hook 2026-05-31 00:25:41 +08:00
Serendipity a4b3b5c380 feat(frontend): 菜单组件 — 主菜单/本地双人/AI设置/网络/加载棋谱
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:25:19 +08:00
Serendipity 6d8a62eca5 feat(frontend): Canvas 棋盘渲染 — 木纹风格, 棋子渐变, 最后一手高亮
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:22:47 +08:00
Serendipity eeafa92e90 feat(frontend): 类型定义 + i18n 中英双语 + Zustand store
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:20:32 +08:00
Serendipity 36f6b15b8e feat(gui): Tauri IPC 命令 — new_game/place_piece/undo/ai_move/get_board/get_game_state
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:18:07 +08:00
Serendipity a17fba8ff5 feat: Tauri + React + Vite + TypeScript 前端脚手架
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:14:31 +08:00
Serendipity 820f35f444 feat(core): LLM AI — OpenAI 兼容 API 调用 + prompt/parse
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:09:44 +08:00
Serendipity 6a78631ad4 feat(core): 网络模块 — GameMessage 协议定义 + NetworkSession
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:05:58 +08:00
Serendipity 4dc837a29a feat(core): 棋谱记录 — JSON 序列化/反序列化 + 复盘重建
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:04:42 +08:00
Serendipity 556ee39a28 feat(core): AI Alpha-Beta 搜索 — Negamax + 剪枝 + 启发式排序
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:03:38 +08:00
Serendipity 5230adacde feat(core): AI 棋形评分模块 — 连五/活四/冲四/活三等棋形打分
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 00:00:48 +08:00
Serendipity 963fc78007 feat(core): 禁手规则 — 长连/双三/双四检测
实现黑棋禁手检测(is_forbidden),包含:
- 长连禁手(超过5子连珠)
- 双三禁手(同时形成两个活三)
- 双四禁手(同时形成两个活四)
- 白棋不受禁手规则限制

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 23:59:19 +08:00