@iasiv5/dsh-skins 1.5.8 → 1.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en.md CHANGED
@@ -46,7 +46,7 @@ With the [dsh-m](https://github.com/iasiv5/dsh-m) plugin marketplace installed,
46
46
 
47
47
  | Your DSH version | Plugin version |
48
48
  |---|---|
49
- | `0.2.0-rc.1` and later (Web and Desktop alike) | `@latest` (1.5.8+) |
49
+ | `0.2.0-rc.1` and later (Web and Desktop alike) | `@latest` (1.5.9+) |
50
50
  | `0.1.x` | `1.5.7` (last release supporting that line) |
51
51
 
52
52
  <details>
@@ -114,7 +114,9 @@ Every skin's key visuals are open to adjustment. Click the gear button on a skin
114
114
  |---|---|---|
115
115
  | **Wallpaper** | Pick from the skin's built-in artwork, or upload your own images into a personal library | Each skin's default artwork |
116
116
  | **Slogan** | The new-session guidance line, one Chinese and one English copy | The skin's factory slogan |
117
- | **Translucency** | 0–100%, one value driving three visual layers: panel tint, wallpaper scrim and blur. 0% is pure, fully visible wallpaper; 100% hides it completely | meirenzhi: Web 35%, Desktop 55%; openbmc / uefi-harness: 55% in both |
117
+ | **Translucency** | 0–100%, one value driving three visual layers: panel tint, wallpaper scrim and blur. 0% is pure, fully visible wallpaper; 100% hides it completely | meirenzhi: Web 35%, Desktop 66%; openbmc / uefi-harness: Web 55%, Desktop 66% |
118
+
119
+ > meirenzhi ships zero wallpaper blur and no global glass at or below its Web factory value (35%) (ADR-0010) — the wallpaper stays native-crisp; blur ramps smoothly above 35% up to 12px at 100%.
118
120
 
119
121
  > **Desktop profile**: the shell is the solid skin base color and the wallpaper shows only inside the conversation area — see "The Desktop profile" below.
120
122
 
package/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # node scripts/verify-readme-pairing.mjs --write
5
- README.md: efd7cba38981f2250296678a90448e6ecda7088a
6
- README.en.md: 31497e8721472557f89af32cdb78a827ff9f0232
5
+ README.md: 9e6c72d86ec8ca1ee7cb82212db3084ad322947f
6
+ README.en.md: e3f96d92d2dd77bb114b336121e2c380ae8613e7
package/README.md CHANGED
@@ -46,7 +46,7 @@ dsh plugin --profile web remove @iasiv5/dsh-skins # 卸载
46
46
 
47
47
  | 你的 DSH 版本 | 插件版本 |
48
48
  |---|---|
49
- | `0.2.0-rc.1` 及以上(web 与 Desktop 通用) | `@latest`(1.5.8+) |
49
+ | `0.2.0-rc.1` 及以上(web 与 Desktop 通用) | `@latest`(1.5.9+) |
50
50
  | `0.1.x` | `1.5.7`(该线的最后支持版) |
51
51
 
52
52
  <details>
@@ -114,7 +114,9 @@ dsh plugin --profile web remove @iasiv5/dsh-skins # 卸载
114
114
  |---|---|---|
115
115
  | **壁纸** | 从皮肤自带的「内置精选」里挑,或上传自己的图片进「个人图库」 | 各皮肤的默认画作 |
116
116
  | **标语** | 新会话页的引导语,中文、英文各一份 | 皮肤出厂标语 |
117
- | **通透度** | 0–100% 单值联动三个视觉层:面板底色、壁纸遮罩、模糊。0% 纯壁纸完全透出,100% 完全遮蔽 | 美人志:Web 35%、Desktop 55%;openbmc / uefi-harness:两端均 55% |
117
+ | **通透度** | 0–100% 单值联动三个视觉层:面板底色、壁纸遮罩、模糊。0% 纯壁纸完全透出,100% 完全遮蔽 | 美人志:Web 35%、Desktop 66%;openbmc / uefi-harness:Web 55%、Desktop 66% |
118
+
119
+ > 美人志在 Web 出厂值(35%)及以下不引入任何壁纸模糊与全局玻璃(ADR-0010),壁纸保持原生锐度;模糊自 35% 以上沿铰链曲线平滑爬升,100% 到顶 12px。
118
120
 
119
121
  > **Desktop profile**:外壳为实色皮肤本色、壁纸只在会话区显露——详见下方「Desktop profile 上的形态」。
120
122
 
package/lib/client.js CHANGED
@@ -128,7 +128,7 @@
128
128
  function getSkinSchema(skinId, profile = "web") {
129
129
  const entry = SKINS[skinId];
130
130
  if (entry === void 0) return null;
131
- const fields = profile === "desktop" && skinId === "meirenzhi" ? entry.fields.map((field) => field.key === "panelOpacity" ? { ...field, default: 55 } : field) : entry.fields;
131
+ const fields = profile === "desktop" ? entry.fields.map((field) => field.key === "panelOpacity" ? { ...field, default: 66 } : field) : entry.fields;
132
132
  return { skinId, fields, builtinAssets: entry.builtinAssets };
133
133
  }
134
134
  function getField(skinId, key) {
@@ -2716,7 +2716,7 @@ ${names}`,
2716
2716
  const s = (Math.round(30 * t * t) / 100).toFixed(3);
2717
2717
  const scrimLight = `linear-gradient(rgba(252, 250, 246, ${s}) 0%, rgba(252, 250, 246, ${s}) 100%)`;
2718
2718
  const scrimDark = `linear-gradient(rgba(16, 16, 26, ${s}) 0%, rgba(16, 16, 26, ${s}) 100%)`;
2719
- const blurPx = Math.round(12 * t * t);
2719
+ const blurPx = t > 0.35 ? Math.round(12 * ((t - 0.35) / 0.65) ** 2) : 0;
2720
2720
  const desktopBlurPx = Math.min(24, blurPx + values.panelOpacity / 55);
2721
2721
  const wallpaperUrl = assets?.wallpaper?.url ?? null;
2722
2722
  const imageLight = wallpaperUrl === null ? null : `url("${wallpaperUrl}")`;
package/lib/index.js CHANGED
@@ -281,7 +281,7 @@ var SKINS = {
281
281
  function getSkinSchema(skinId, profile = "web") {
282
282
  const entry = SKINS[skinId];
283
283
  if (entry === void 0) return null;
284
- const fields = profile === "desktop" && skinId === "meirenzhi" ? entry.fields.map((field) => field.key === "panelOpacity" ? { ...field, default: 55 } : field) : entry.fields;
284
+ const fields = profile === "desktop" ? entry.fields.map((field) => field.key === "panelOpacity" ? { ...field, default: 66 } : field) : entry.fields;
285
285
  return { skinId, fields, builtinAssets: entry.builtinAssets };
286
286
  }
287
287
  function getField(skinId, key) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iasiv5/dsh-skins",
3
3
  "description": "DSH Web 皮肤插件:多套品牌皮肤侧栏热切换。",
4
- "version": "1.5.8",
4
+ "version": "1.5.9",
5
5
  "homepage": "https://github.com/iasiv5/dsh-skins#readme",
6
6
  "repository": {
7
7
  "type": "git",
@@ -72,10 +72,11 @@
72
72
  "scripts": {
73
73
  "build": "node scripts/build-client.mjs",
74
74
  "watch": "node scripts/build-client.mjs --watch",
75
+ "check:lockfile": "pnpm install --frozen-lockfile --lockfile-only",
75
76
  "test": "pnpm run build && node smoke-test.cjs && node --test tests/*.test.mjs",
76
77
  "verify:readme": "node scripts/verify-readme-pairing.mjs",
77
78
  "verify:bundle": "node scripts/verify-bundle-guard.mjs",
78
79
  "verify:hooks": "node scripts/verify-upstream-hooks.mjs",
79
- "check": "pnpm run build && node --check lib/client.js && node --check lib/index.js && pnpm run test && pnpm run verify:readme && pnpm run verify:bundle && pnpm run verify:hooks"
80
+ "check": "pnpm run check:lockfile && pnpm run build && node --check lib/client.js && node --check lib/index.js && pnpm run test && pnpm run verify:readme && pnpm run verify:bundle && pnpm run verify:hooks"
80
81
  }
81
82
  }