diff --git a/README.md b/README.md
index 2878ab9..07c90fc 100644
--- a/README.md
+++ b/README.md
@@ -77,9 +77,9 @@ SpineViewer/
## 使用说明
-预览与手动缩略图使用 WebGL 绘制网格三角形,避免 Canvas 逐三角形裁切造成的细线接缝,覆盖全部九个运行时版本。WebGL 不可用时回退到 Canvas。
+预览与手动缩略图使用 WebGL 绘制网格三角形,避免 Canvas 逐三角形裁切造成的细线接缝,覆盖全部九个运行时版本。贴图从原始文件直接解码到 GPU,避免 PMA 贴图经过 Canvas 中转导致低透明度颜色量化和光晕分层;支持逐顶点 RGB、Alpha 及运行时提供的双色染色。WebGL 不可用时回退到 Canvas,回退路径的染色能力有限。
-“背景”开关默认开启,绘制每格 50×50 世界单位的灰色方格,随骨骼视图一起移动和缩放。背景像素与骨骼在同一个帧缓冲中合成,支持正常、相加、相乘和滤色;关闭方格后使用实色背景。手动缩略图跟随当前背景开关。4.3 等带 `-beta` 后缀的完整版本号也会显示在水印中。
+“背景”开关默认关闭,使用实色背景;手动开启后绘制每格 50×50 世界单位的灰色方格,随骨骼视图一起移动和缩放。背景像素与骨骼在同一个帧缓冲中合成,支持正常、相加、相乘和滤色。手动缩略图跟随当前背景开关。4.3 等带 `-beta` 后缀的完整版本号也会显示在水印中。
加载骨骼时会先使用骨骼数据声明的默认皮肤;没有默认皮肤时使用皮肤列表中的第一个,并立即按 setup pose 重建槽位附件。手动切换皮肤也会执行同样的附件刷新,避免只有下拉框变化而画面为空。
diff --git a/tests/build-x10-comparison.js b/tests/build-x10-comparison.js
index 49b3c58..28bbd39 100644
--- a/tests/build-x10-comparison.js
+++ b/tests/build-x10-comparison.js
@@ -2,10 +2,11 @@
// Local visual diagnostic. The private project/export remain outside version control.
const fs = require('fs'), path = require('path');
const root = path.resolve(__dirname, '..');
-const library = '/Users/tianmokeji/Desktop/特效/特效.library/images';
-const source = process.argv[2] || path.join(library, 'MTV7M6B96MAP6.info/x10.skel');
-const atlasPath = process.argv[3] || path.join(library, 'MTV7M6B96RPMA.info/x10.atlas');
-const texturePath = process.argv[4] || path.join(library, 'MTV7M6B9BJ9MS.info/x10.png');
+const source = process.argv[2];
+if (!source) throw Error('Usage: node tests/build-x10-comparison.js x10.skel [x10.atlas] [x10.png] [output.html]');
+const assets = require('../js/spine-utils').discoverAssets(source);
+const atlasPath = process.argv[3] || assets.atlasPath;
+const texturePath = process.argv[4] || assets.texturePaths['x10.png'];
const output = process.argv[5] || '/tmp/spine-x10-comparison.html';
const baseline = process.env.SPINE_COMPARE_BASELINE === '1';
const script = s => '';
diff --git a/tests/pma-color-rendering.html b/tests/pma-color-rendering.html
index a2febd8..55d8bea 100644
--- a/tests/pma-color-rendering.html
+++ b/tests/pma-color-rendering.html
@@ -10,7 +10,7 @@
// Produce a PNG whose low-alpha RGB values can be represented exactly by
// Canvas's 8-bit storage; PMA consumers must preserve those encoded values.
const encoded=canvas(),pixels=encoded.createImageData(32,32);
- for(let i=0;iencoded.canvas.toBlob(resolve));
const image=new Image();image.src=URL.createObjectURL(blob);await image.decode();
diff --git a/viewer/spine.html b/viewer/spine.html
index de3d4f5..8fc1f3f 100644
--- a/viewer/spine.html
+++ b/viewer/spine.html
@@ -140,7 +140,7 @@
预乘