feat(icon): 轨迹时序指纹修复 —— 1ms 图标 4/8→7/8=0,errorCode 语义与轨迹对拍收口
- 真因:dt 分布与真机严重不符(旧 50% 落 0~16ms,真机 79% 落 13~20ms)+ 点数 随机 57~65(真机 6/6 恒 61)。按 6 条真机轨迹重拟合 _sample_dt,新增 _fit_points 钉死 61 点(补齐用 [0,0,dt] 驻留点,不能复制位移点——净位移会被放大)。 - A/B:1ms 图标 0×4→0×7(前 7 连 0);残余偶发 12 为连发频控形态,低频使用即可。 - errorCode 语义标定:50=答案被否(容差实测 25~40px,我们点偏仅 2~3px), 12=包级拒答;判点位只看 50/0。 - 顺带修 build_plain:轨迹落末槽(k=37)时 chunk2 恒补前导逗号 → 非法 JSON。 - 新增 scripts/verify/send_campaign.py(批量真发+落图+统计)与 judge_icons.py (提示目标 vs 点击点并排判读);账本 #64~#74 + 专文 ICON2408.md。 复验:selftest 全绿;判读图 24/24 点位全对;mliev 图标 9/10=0。
This commit is contained in:
@@ -12,7 +12,11 @@
|
||||
|
||||
用法:
|
||||
.venv/bin/python scripts/verify/send_test.py
|
||||
.venv/bin/python scripts/verify/send_test.py --mode python_keyed # 对照组:旧模板回填
|
||||
.venv/bin/python scripts/verify/send_test.py --kind icon # 2408 图标点选
|
||||
.venv/bin/python scripts/verify/send_test.py --kind slider # 2401/2402 滑块
|
||||
|
||||
注: `--mode` 只剩 `python_values` 一种 —— 模板回填 / Node 兜底两条老路已整体删除
|
||||
(它们产生的 collect 与本次会话构建不同源,在真实 aid 上必然 errorCode=12)。
|
||||
"""
|
||||
import argparse
|
||||
import json
|
||||
@@ -42,8 +46,8 @@ KIND_MAP = {
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description="1ms 签到页文字点选 · 真实发送测试")
|
||||
ap.add_argument("--mode", default="python_values",
|
||||
choices=["python_values", "python_keyed", "python"])
|
||||
ap.add_argument("--mode", default="python_values", choices=["python_values"],
|
||||
help="遥测生成方式(只有 python_values:纯离线按本次会话构建生成)")
|
||||
ap.add_argument("--kind", default="text", choices=list(KIND_MAP),
|
||||
help="只解哪种题(默认 text=文字点选)")
|
||||
ap.add_argument("--max-refreshes", type=int, default=12)
|
||||
@@ -76,6 +80,11 @@ def main() -> int:
|
||||
seen["traj_tail"] = json.loads(traj)[-1]
|
||||
except Exception as e: # noqa: BLE001
|
||||
seen["segments_err"] = str(e)[:120]
|
||||
try: # 失败时落盘,便于事后解剖
|
||||
open("/tmp/send_test_fail.b64", "w").write(out["collect"])
|
||||
open("/tmp/send_test_fail.txt", "w", encoding="latin1").write(plain)
|
||||
except Exception: # noqa: BLE001
|
||||
pass
|
||||
print("[hook] %s" % json.dumps(seen, ensure_ascii=False))
|
||||
return out
|
||||
|
||||
|
||||
Reference in New Issue
Block a user