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 的几何,读出来必须是后端那份
  • 缺几何时回落值可测,且删掉「优先用后端几何」那一步时前端用例失败

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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