Skip to content

refactor(tracker): roomMovement 改用组合模式 - #156

Merged
llsccm merged 1 commit into
devfrom
refactor/roomMovement
Oct 15, 2026
Merged

llsccm merged 1 commit into
devfrom
refactor/roomMovement

Conversation

@llsccm

@llsccm llsccm commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • 文档

    • 更新房间移动与卡牌来源、候选项及暗置标记流程的说明。
  • 重构

    • 调整卡牌移动处理方式,将来源查询、候选处理和暗置标记处理分别组织;移动顺序及收敛流程保持不变。
    • 补充卡牌位置与来源查询的说明。
  • 测试

    • 新增来源查询测试,覆盖来源优先级、筛选、数量边界及查询结果一致性。
    • 更新相关测试以适配调整后的移动处理接口。

@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e1bffad1-01b6-417b-a2df-4b89af45e251
📥 Commits

Reviewing files that changed from the base of the PR and between ec22b0d and 3e9ed8a.

📒 Files selected for processing: 19
  • docs/agents/card_tracker.md
  • docs/agents/card_tracker_anonymous_pile.md
  • docs/agents/card_tracker_skills.md
  • docs/agents/room.md
  • src/tracker/Room.ts
  • src/tracker/candidate/hiddenMarkMove.ts
  • src/tracker/candidate/publicCandidate.ts
  • src/tracker/room/identity.ts
  • src/tracker/roomMovement.ts
  • src/tracker/roomMovement/candidates.ts
  • src/tracker/roomMovement/hiddenMarks.ts
  • src/tracker/roomMovement/sourceQueries.ts
  • src/tracker/roomMovement/sources.ts
  • tests/tracker/discardGain.test.ts
  • tests/tracker/handCountObservation.test.ts
  • tests/tracker/hiddenMarkCandidates.test.ts
  • tests/tracker/markSpaceReconcile.test.ts
  • tests/tracker/publicCandidates.test.ts
  • tests/tracker/roomMovementSourceQueries.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

RoomMovement 将移动相关职责拆分到来源、候选和隐藏标记组件。共享来源查询改为独立函数。移动阶段、测试和文档更新为使用新的组件入口。

Changes: 移动处理组件化

Layer / File(s) Summary
共享来源查询
src/tracker/roomMovement/sourceQueries.ts, tests/tracker/roomMovementSourceQueries.test.ts, tests/tracker/handCountObservation.test.ts, tests/tracker/hiddenMarkCandidates.test.ts
新增无状态查询函数,用于查询位置候选、玩家暗牌来源、手牌及已知手牌。测试覆盖来源排序、排除条件、数量边界和多房间实时读取。
隐藏标记处理组件
src/tracker/roomMovement/hiddenMarks.ts, src/tracker/candidate/hiddenMarkMove.ts, docs/agents/card_tracker_skills.md, tests/tracker/markSpaceReconcile.test.ts
隐藏标记账本、候选和占位处理由 RoomMovementHiddenMarks 承担。相关调用及测试改为使用该组件。
来源操作组件
src/tracker/roomMovement/sources.ts, docs/agents/card_tracker_anonymous_pile.md, tests/tracker/discardGain.test.ts, tests/tracker/handCountObservation.test.ts, tests/tracker/hiddenMarkCandidates.test.ts
RoomMovementSources 使用共享查询函数处理来源卡牌,并新增手牌总数差量操作。相关测试和文档更新了调用入口。
候选处理组件
src/tracker/roomMovement/candidates.ts, src/tracker/candidate/publicCandidate.ts, tests/tracker/publicCandidates.test.ts, tests/tracker/handCountObservation.test.ts
RoomMovementCandidates 通过共享函数处理候选创建、位置归一化和手牌查询。约束传播及候选相关测试改为经由该组件。
移动阶段接入与文档更新
src/tracker/roomMovement.ts, src/tracker/Room.ts, src/tracker/room/identity.ts, docs/agents/card_tracker.md, docs/agents/room.md
RoomMovement 创建并调用三个职责组件。Room.moveCards 和身份迁移改用组件入口;移动阶段顺序保持不变。文档更新了组件职责和调用方式。

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Refactor

Merge Risk: ⚪ Minimal · up to 3e9ed

No material behavior issue is established; the change is mergeable after normal checks.

Pre-merge checks: Passed 5
Passed Passed checks: 5 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage Passed Docstring coverage is 84.62% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 13 functions across 15 files. (4 skipped: 4…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed 标题准确概括了主要变更:将 RoomMovement 重构为组合模式。
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@llsccm
llsccm marked this pull request as ready for review October 15, 2026 13:00
@llsccm
llsccm merged commit a7d320d into dev Oct 15, 2026
4 checks passed
@llsccm
llsccm deleted the refactor/roomMovement branch October 15, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant