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 |
|
Serendipity
|
4e336308ab
|
feat(core): 棋盘引擎 — 不可变 Board, 落子/胜负/悔棋/候选位
实现不可变风格的 Board 结构体,place()/undo() 返回新 Board。
包含 bounds 检查、四方向五连胜负判定、悔棋历史管理、
空棋盘天元候选等功能。新增 11 个单元测试全部通过。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-30 23:55:21 +08:00 |
|
Serendipity
|
fd307addc8
|
feat(core): 定义基础类型 — Position, Color, CellState, Move, GameConfig
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-30 23:51:00 +08:00 |
|
Serendipity
|
1e0d5f0c43
|
feat: 初始化 Cargo workspace + core crate 脚手架
创建 Rust 工作区,包含 core(纯游戏逻辑)和 gui(Tauri 占位)两个 crate。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-30 23:49:50 +08:00 |
|