[Parity][map][S2][F] AutomapView 遇到任何异常都用伪造的 3×3 房间 LevelView 继续运行(catch 吞错),伪视图还会进入碰撞回退链 #629
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
来源审计项:
map#10— [S2][F] AutomapView 遇到任何异常都用伪造的 3×3 房间 LevelView 继续运行(catch 吞错),伪视图还会进入碰撞回退链位置:
src/client/automap/automap-view.ts:97-198(buildFallbackLevelView):areaId*32 + seed%16是凭空构造的。automap-view.ts:275-277:catch {},注释写 "Fallback to deterministic synthetic LevelView"。automap-view.ts:326-328和343-345:吞掉 MapService 的 room 包错误。automap-view.ts:355-372(ensureLevelView):catch { view = buildFallbackLevelView(...) };没有 mapService 时也直接造假。automap-view.ts:523-572(buildMinimapLevel):view.blocked无效时,默认cellsX=40 / cellsY=40 / subW=200,并按房间重建网格。src/client/session/online-session.ts:305-314:碰撞检测链最后回退到this.automapView.getLevelView(),可能拿到上面的伪视图。原版: 没有对应行为。地图数据缺失就是错误。AGENTS.md §3 禁止静默容错。
影响:
建议: 删除
buildFallbackLevelView和所有空 catch。ensureLevelView失败时抛错或进入"未就绪"状态并上报。碰撞链不要回退到 automapView。已有 issue: —