把确认的映射写进表 + 技能补一条立即生效的规矩

- anchors.tsv 增补 ScrollPane(含踩坑确认的 B(ZZ)V=setScrollingDisabled,不是 setForceScroll),
  names.tsv 同步为 220 条;
- 混淆名对照表.md 新增第七节(ScrollPane 方法映射 + 教训);
- .codex/skills/scope-discipline 增补『结论必须落进映射表(立即生效)』:新确认的映射/字段语义
  当场写进 anchors.tsv 并同步 names.tsv / src-named,不许只留在对话里。
This commit is contained in:
tianmo committed 2026-10-16 16:13:54 +08:00
1 parent 8d396ecb5b
commit f558a4e4aa
3 files changed
+39

No files matched your search

+18
View File
@@ -38,3 +38,21 @@ description: 在本仓库(Spine 3.8.99 编辑器"面板加功能")里动手
- 调研结论与 API 对照:`编辑器交互与数据API.md`、`混淆名对照表.md`
- 重启入口:`viewpanel/run.sh`、`viewpanel/重启编辑器.command`
## 结论必须落进映射表(立即生效)
任何**新确认**的东西都要当场写进文件,不要只留在对话里:
1. 混淆名 → 真名的映射(方法/字段,含**描述符**):追加到 `tools/deobf/anchors.tsv`
(一行:`owner<TAB>name<TAB>desc<TAB>真名`,上面用 `#` 写清依据,例如
`ScrollPane B (ZZ)V setScrollingDisabled` —— 这条是踩坑确认的:传 `(false,true)` 等于关掉纵向滚动)。
2. 场景对象字段的语义(x/y/rotation/scale/…):同样进 `anchors.tsv`,依据写"用户实测:改了什么值 → 哪个字段动了"。
3. 然后跑一次合并 + 重命名,保证产物同步:
```bash
python3 - <<'PY' # 合并 anchors-libgdx.tsv + anchors.tsv -> names.tsv
...
PY
java -cp "tools/deobf/build:$ASM" com.spineview.deobf.Renamer \
/tmp/spinework/payload-public.zip tools/deobf/names.tsv /tmp/spinework/payload-named.zip
```
4. `混淆名对照表.md` 里同步补一行(混淆名 → 真名 → 依据),并写清"已确认 / 未定"。
+8
View File
@@ -66,3 +66,11 @@ GO L F scaleX
GO I F scaleY
GO C F width
GO Z F height
# ---- ScrollPane(保名类 com/badlogic/gdx/scenes/scene2d/ui/ScrollPane)----
# 依据:MapMethods 对 gdx-1.11.0 指纹比对(tools/deobf/anchors-libgdx.tsv 自动生成),
# 并且**踩过一次**:一直以为 B(ZZ)V 是 setForceScroll,传了 (false,true),
# 结果纵向滚动被关掉(那其实是 setScrollingDisabled(x,y))—— 现象就是"列表滚不动"。
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane B (ZZ)V setScrollingDisabled
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane L (FFFF)V scrollTo
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (Ldl;)V addActor
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (Ldl;Z)Z removeActor
Can't render this file because it contains an unexpected character in line 72 and column 99.
+13
View File
@@ -331,3 +331,16 @@ macOS 文件系统大小写不敏感,解到目录里会互相覆盖 —— 所
**已知未打通**:命令"执行了但没生效"(`New Bone` / `Rulers` 都没看到界面变化)。
下一步要确认执行路径究竟是 `pC.boolean D()` 还是 `pC.void D()`,以及**怎么设置当前选择**。
---
## 七、ScrollPane 的方法映射(2026-10-16 踩坑确认)
| ScrollPane 载荷签名 | 真名 | 依据 |
| --- | --- | --- |
| `B(ZZ)V` | **`setScrollingDisabled(x, y)`** | MapMethods 对 gdx-1.11.0 指纹比对;**踩坑确认**:一直当它是 `setForceScroll`,传了 `(false, true)`,结果把纵向滚动关掉了 —— 现象就是"面板列表滚不动"。正解是 `(false, false)` 恢复双向滚动 |
| `L(FFFF)V` | `scrollTo(x, y, width, height)` | 同上 |
| `D(Ldl;)V` / `D(Ldl;Z)Z` | `addActor` / `removeActor` | 同上 |
> 教训也写进技能了:**新确认的映射必须当场写进 `tools/deobf/anchors.tsv` 并同步 `names.tsv` / `src-named`**,
> 不许只留在对话里(见 `.codex/skills/scope-discipline/SKILL.md` 末节)。