fix: 物理录制器区分「被服务端推回」与「输入没进物理」

原来 frozenTicks 只看「有输入 + tick 级无位移 + 物理没报告碰撞」,
但服务端推回发生在 tick 之间,tick 级位移同样是 0 —— 实测大厅里就是这个形态:
collidedHorizontally = false、frozenTicks = 194,而物理其实每 tick 都在动。

现在再按水平速度是否非零细分:
- pushedBackTicks:速度非零 → 物理确实动了,位移被服务端位置包抹掉;
- frozenTicks:速度也是 0 → 这才是「输入根本没进物理」。

类注释里的判定表也同步改成三分法(被挡住 / 被推回 / 输入没生效)。

测试 469 → 470。
这个提交包含在:
lyizai
2026-10-01 16:28:14 +08:00
父节点 468c719e37
当前提交 5513ef9f5f
共修改 5 个文件,包含 57 行新增和 7 行删除
+18
查看文件
@@ -2,6 +2,24 @@
本项目遵循 [约定式提交](https://www.conventionalcommits.org/zh-hans/) 与 [语义化版本](https://semver.org/lang/zh-CN/)。
## [1.9.2] - 2026-10-01
修正物理录制器里一个会误导排查的分类错误。
### 修复
- **`frozenTicks` 把「被服务端推回」误判成「输入没进物理」**:原来只看
「有输入 + tick 级无位移 + 物理没报告碰撞」。但服务端推回发生在 tick 之间,
tick 级位移同样是 0 —— 实测大厅里就是这个形态(`collidedHorizontally = false`、
`frozenTicks = 194`,而物理其实每 tick 都在动)。
现在再按**水平速度是否非零**细分:
- `pushedBackTicks`:速度非零 → 物理确实动了,位移被服务端位置包抹掉;
- `frozenTicks`:速度也是 0 → 这才是「输入根本没进物理」。
### 测试
新增 1 个用例(469 → 470)覆盖「被推回」形态。
## [1.9.1] - 2026-10-01
**修复「寻路器完全规划不出路径」** —— 这是自动扩地跑不起来的直接原因。