Skip to content

[Bug]: 交付帧脚线几何前后端各存一份 0.92,后端从不交出真值 #522

Description

@johnnyzhang-eng

问题

交付帧的脚线几何在前端和后端各存了一份 0.92。

后端 postprocess/pack.py 的模块注释已经写明为什么它是模块常量:「入口预检要按同一套几何判母版能不能装下……抄一份数字过去就等于埋下『改了这里、那边阈值不动』的静默分歧」。

而前端导出正是抄了一份:

anchorfootY 两个字段都由这个常数算出来,后端从不交出真值。两份不同步的后果是角色不站在地上,而帧数、时长、成色全部正常 —— 没有任何一道会红。

导出契约里这两个字段是必填且带范围校验的(footY 必须落在画布内),所以它们不是可选装饰,是引擎播放要用的量。这也是 #192 子项 1 里「引擎播放必需的逐帧几何量(地面锚)」那一半。

范围

  • 引擎把对齐那一步实际用的几何报进出参,服务端随任务结果交出
  • 前端导出改读后端报的那份;后端没报时明示回落,不静默给 0
  • 不改画布尺寸、不改脚线数值本身
  • 不动位移轨(root_motion MVP 不做)与图集

验收

  • 后端报的 anchor / footY 与 postprocess.FOOT_LINE 同源,测试断言用的是该常量而不是字面量 0.92
  • 前端用例给一个故意不等于 0.92 的几何,读出来必须是后端那份
  • 缺几何时回落值可测,且删掉「优先用后端几何」那一步时前端用例失败

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions