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

3.1 KiB
Raw Permalink Blame History

name, description
name description
scope-discipline 在本仓库(Spine 3.8.99 编辑器"面板加功能")里动手改代码前必读:只做用户明确要求的那一件事,严禁擅自换设计、绕开问题、顺手加功能;改完必须自己重启编辑器并确认进程活着。当用户说"我没让你做这个""只修 X""重启一下"时也适用。

只做被要求的事(本仓库纪律)

用户明确要求过:严禁做没说过的事。这条优先于"顺手改进""更优雅的实现""顺便修一下"。

动手前先划范围

  1. 只改被点名的那一个问题。例:用户说"列表不能滚动" —— 就只修滚动, 不允许改成分页、换控件、重构布局来绕开。
  2. 不加用户没要的 UI / 功能 / 入口 / 自动化。想加先问。
  3. 不改已确认的约定:面板文字一律英文;skeleton 可删、root 不可删;动作只作用于当前选择。
  4. 修 bug 时不顺手改相邻行为;确需动到时保持最小改动,并在回复里点明"我动了 X,因为 Y"。
  5. 用户没要求重构 / 改名 / 整理时,不做。

改完必做

  1. 编译:JAVA_HOME=/tmp/jdk-17.0.20.1+1/Contents/Home ./viewpanel/build.sh
  2. 重启并确认活着(不要只杀不启,也不要让用户自己点):
    ./viewpanel/run.sh
    sleep 20; pgrep -f com.spineview.Launcher | wc -l   # 期望是 1
    
    启动必须用 python subprocess.Popen(..., start_new_session=True)(run.sh 里已这么做); 不要用 nohup … &:进程会挂在会话下,会话一结束就被收掉(踩过)。
  3. 单独提交,提交信息写清"做了什么、为什么"。

报告方式

  • 先给结果(进程 pid、日志关键行、能不能跑),再讲原因。
  • 不确定就写"未定",不要猜;给结论要带出处(file:line 或 javap -c 证据)。
  • 用户要自己手测时,只给入口/按钮,不替他下结论。

相关文件

  • 调研结论与 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. 然后跑一次合并 + 重命名,保证产物同步:
    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 里同步补一行(混淆名 → 真名 → 依据),并写清"已确认 / 未定"。