Skip to content

merge dev into main - #157

Merged
llsccm merged 8 commits into
mainfrom
dev
Oct 16, 2026
Merged

llsccm merged 8 commits into
mainfrom
dev

Conversation

@llsccm

@llsccm llsccm commented Oct 16, 2026

Copy link
Copy Markdown
Owner

No description provided.

llsccm and others added 8 commits October 11, 2026 01:06
* refactor(tracker): 优化木马和标记区

* fix: 装备离开装备区后,容器候选仍按旧 muniuMarkSeat 投影
* refactor(tracker): 简化诡伏移动与角色数据配对

暂存单条获得移动,在相邻角色数据到达后只补齐 patched 并走普通移动管线;移除 FIFO、历史快照与占位补偿,保留原始 raw。

独立记录诡伏协议契约,明确用牌后及获得技能时的角色数据不触发移动,并补充相应回归。

* test: 不再依赖已删除的 settleTrackerPendingDiscardGain
* refactor(tracker): 统一移动上下文

统一移动协议字段与技能上下文,移除重复数值转换并拆分技能处理器。

* fix(tracker): 收紧移动协议位置字段为数字类型

* refactor: 诫厉优化

* fix: 诫厉格式校验
* refactor(tracker): 拆分 Room

* refactor(tracker): 收紧移动协议类型与补丁边界

将原始移动消息核心字段收紧为完整数值协议,移除字符串兼容与不完整事件补全。

限定协议和技能补丁的类型及实际合并字段,简化账本日志与旧兼容入口,并同步回放检查、回归测试和文档。

验证:typecheck、typecheck:tracker、typecheck:replay、lint、build、build:prod 通过;tracker 714 项、回放 40 项测试通过。

* Update docs/agents/tracker_api.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* refactor(tracker): PubGsCMoveCard

* test: 恢复 seat3 手牌身份断言

* docs: 更新同区展示的代码位置说明

* docs: 更新宴戏文档
* fix: 宴戏定位问题

未引入宴戏推断

* fix: 宴戏 deleteState 参数错误
* refactor(tracker): 优化洗入牌堆匿名化规则

* fix(tracker): 限制问卦回堆候选扩散范围

以相邻消息的候选来源筛选替代单实体追踪,避免将接收者原有明牌扩散到牌堆,并保守失效相关旧数量约束。同步协议文档和回归测试。

验证通过:778 项 tracker 测试、pnpm lint、pnpm typecheck:tracker、pnpm build、pnpm build:prod。
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 134 files, which is 34 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c137bf12-b680-496c-ab4e-99a22f46694d
📥 Commits

Reviewing files that changed from the base of the PR and between 35b4ae5 and a7d320d.

📒 Files selected for processing: 134
  • docs/agents/card_player_model.md
  • docs/agents/card_tracker.md
  • docs/agents/card_tracker_anonymous_pile.md
  • docs/agents/card_tracker_convergence.md
  • docs/agents/card_tracker_skills.md
  • docs/agents/conventions.md
  • docs/agents/replay.md
  • docs/agents/room.md
  • docs/agents/skill_state.md
  • docs/agents/testing.md
  • docs/agents/tracker_api.md
  • docs/protocols/GsCRoleOptTargetNtf-3483.md
  • docs/protocols/GsCRoleOptTargetNtf-7011.md
  • docs/protocols/GsCRoleOptTargetNtf-987.md
  • docs/protocols/GsCUpdateRoleDataExNtf.md
  • docs/protocols/PubGsCMoveCard-3709.md
  • docs/protocols/PubGsCMoveCard-700.md
  • docs/protocols/PubGsCMoveCard-7017.md
  • docs/protocols/PubGsCMoveCard-713.md
  • docs/protocols/PubGsCMoveCard-780.md
  • docs/protocols/README.md
  • docs/protocols/move-position.md
  • src/handler/CGsRoleSpellOptRep.js
  • src/handler/GsCRoleOptTargetNtf.js
  • src/handler/GsCUpdateRoleDataExNtf.js
  • src/handler/PubGsCMoveCard.js
  • src/handler/gameFlowState.js
  • src/handler/legacyMoveCard.js
  • src/handler/skills/ChengXiang.ts
  • src/handler/skills/GuiFu.ts
  • src/handler/skills/JiaoYu.ts
  • src/handler/skills/QianFu.ts
  • src/handler/skills/QingYiLianJu.ts
  • src/handler/skills/ShengMo.ts
  • src/handler/skills/Spell713.ts
  • src/handler/skills/XiaShu.ts
  • src/handler/skills/ZeXing.ts
  • src/handler/skills/ZuoLian.ts
  • src/handler/skills/types.ts
  • src/handler/specialZones.js
  • src/handler/spellEffects.js
  • src/tracker/AmbiguousKnownIndex.ts
  • src/tracker/CardLocationIndex.ts
  • src/tracker/MoveEventNormalizer.ts
  • src/tracker/PileIdentityLedger.ts
  • src/tracker/Player.ts
  • src/tracker/Room.ts
  • src/tracker/candidate/equipmentMarkContainer.ts
  • src/tracker/candidate/hiddenMarkMove.ts
  • src/tracker/candidate/markSpellID.ts
  • src/tracker/candidate/publicCandidate.ts
  • src/tracker/helper/moveSummary.ts
  • src/tracker/protocolZones.ts
  • src/tracker/room/RoomBase.ts
  • src/tracker/room/diagnostics.ts
  • src/tracker/room/identity.ts
  • src/tracker/room/moveEvents.ts
  • src/tracker/room/playerSnapshot.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
  • src/tracker/roomMovement/types.ts
  • src/tracker/roomMovement/unassignedMarkSpaces.ts
  • src/tracker/roomPublicZones.ts
  • src/tracker/runtime/moveEventHandlers.ts
  • src/tracker/runtime/protocolRules.ts
  • src/tracker/runtime/trackerController.ts
  • src/tracker/skill/ChengLie.ts
  • src/tracker/skill/DuoQi.ts
  • src/tracker/skill/FenChao.ts
  • src/tracker/skill/GuanXu.ts
  • src/tracker/skill/GuiFu.ts
  • src/tracker/skill/HandExchange.ts
  • src/tracker/skill/JieLi.ts
  • src/tracker/skill/QiaoZhi.ts
  • src/tracker/skill/SiQi.ts
  • src/tracker/skill/TianHou.ts
  • src/tracker/skill/WenGua.ts
  • src/tracker/skill/XingZuo.ts
  • src/tracker/skill/YanXi.ts
  • src/tracker/skill/ZuoLian.ts
  • src/tracker/skill/moveEventUtils.ts
  • src/tracker/types.ts
  • tests/replay/tracker/helpers/protocolReplay/handlers.ts
  • tests/replay/tracker/protocolReplay.test.ts
  • tests/tracker/anonymousPileSpike.test.ts
  • tests/tracker/cardCounter.test.ts
  • tests/tracker/discardGain.test.ts
  • tests/tracker/duoQi.test.ts
  • tests/tracker/fenChao.test.ts
  • tests/tracker/gameFlowState.test.ts
  • tests/tracker/guanXuExchange.test.ts
  • tests/tracker/handCountObservation.test.ts
  • tests/tracker/handExchange.test.ts
  • tests/tracker/helpers/moveContext.ts
  • tests/tracker/helpers/trackerController.ts
  • tests/tracker/hiddenMarkCandidates.test.ts
  • tests/tracker/identityConservation.test.ts
  • tests/tracker/jieLiExchange.test.ts
  • tests/tracker/knownDiscardConfirm.test.ts
  • tests/tracker/markSpaceReconcile.test.ts
  • tests/tracker/moveCardRoutes.test.ts
  • tests/tracker/moveEventLogging.test.ts
  • tests/tracker/moveEventNormalizer.test.ts
  • tests/tracker/moveEventSpellID.test.ts
  • tests/tracker/moveEventUtils.test.ts
  • tests/tracker/moveInputContracts.test.ts
  • tests/tracker/muniuMarkTransfer.test.ts
  • tests/tracker/pileDisplayOrder.test.ts
  • tests/tracker/pileIdentityLedger.test.ts
  • tests/tracker/pileIdentityLedgerIntegration.test.ts
  • tests/tracker/pileReturnPosition.test.ts
  • tests/tracker/playerSnapshot.test.ts
  • tests/tracker/pubGsCMoveCard.test.ts
  • tests/tracker/publicCandidates.test.ts
  • tests/tracker/randomTransferLifecycle.test.ts
  • tests/tracker/resolveConstraintsIncrementalIndex.test.ts
  • tests/tracker/roleData3709.test.ts
  • tests/tracker/roleOptTargetNtf.test.ts
  • tests/tracker/roleSpellOptRep.test.ts
  • tests/tracker/roomMoveEvents.test.ts
  • tests/tracker/roomMovementSourceQueries.test.ts
  • tests/tracker/secondaryRandomHandTransfer.test.ts
  • tests/tracker/specialZones.test.ts
  • tests/tracker/spellEffects.test.ts
  • tests/tracker/trackerController.test.ts
  • tests/tracker/traversalBaseline.test.ts
  • tests/tracker/trojanFullHandReveal.test.ts
  • tests/tracker/wenGuaCandidateSource.test.ts
  • tests/tracker/xiaShu.test.ts
  • tests/tracker/yanXi.test.ts
  • vite.config.js

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 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 16, 2026 02:02
@llsccm
llsccm merged commit 0cac0c7 into main Oct 16, 2026
7 checks passed
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