@linxin666/dsh-client-ui-skin-center 0.3.21 → 0.3.22

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/lib/index.js CHANGED
@@ -145,7 +145,8 @@ const SKIN_BACKGROUND_DEFAULTS = {
145
145
  backgroundBlurEmpty: 0,
146
146
  backgroundBlurContent: 0,
147
147
  inputCardBlur: 10,
148
- bubbleOpacity: 50
148
+ bubbleOpacity: 50,
149
+ bubbleBlur: 10
149
150
  };
150
151
  /** The fields normalize/sanitize know about; unknown keys are dropped. */
151
152
  const SKIN_BACKGROUND_FIELDS = Object.keys(SKIN_BACKGROUND_DEFAULTS);
@@ -157,7 +158,8 @@ const RANGES = {
157
158
  backgroundBlurEmpty: [0, 20],
158
159
  backgroundBlurContent: [0, 20],
159
160
  inputCardBlur: [0, 20],
160
- bubbleOpacity: [0, 100]
161
+ bubbleOpacity: [0, 100],
162
+ bubbleBlur: [0, 20]
161
163
  };
162
164
  function isRecord$1(value) {
163
165
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -759,7 +761,7 @@ const REVIEWED_SKIN_HOOKS = {
759
761
  },
760
762
  "miku": {
761
763
  entry: "hooks.mjs",
762
- manifestSha256: "9022628fd39e8ee48aef3b311c12f8411b4cc99d62764e84aa65fb4a5a3631ab",
764
+ manifestSha256: "a1c713e59ed31eaf43f136205e1326d35419d83d613107423099cef2c992c621",
763
765
  hooksSha256: "1c4052d328ac6e1ede3115395e8823c4f6acecd3b4508b85615006a88f7cbdd1"
764
766
  },
765
767
  "minecraft": {
@@ -9384,7 +9386,8 @@ const SkinBackgroundConfigSchema = z.object({
9384
9386
  backgroundBlurEmpty: z.number().min(0).max(20).step(1).default(SKIN_BACKGROUND_DEFAULTS.backgroundBlurEmpty),
9385
9387
  backgroundBlurContent: z.number().min(0).max(20).step(1).default(SKIN_BACKGROUND_DEFAULTS.backgroundBlurContent),
9386
9388
  inputCardBlur: z.number().min(0).max(20).step(1).default(SKIN_BACKGROUND_DEFAULTS.inputCardBlur),
9387
- bubbleOpacity: z.number().min(0).max(100).step(5).default(SKIN_BACKGROUND_DEFAULTS.bubbleOpacity)
9389
+ bubbleOpacity: z.number().min(0).max(100).step(5).default(SKIN_BACKGROUND_DEFAULTS.bubbleOpacity),
9390
+ bubbleBlur: z.number().min(0).max(20).step(1).default(SKIN_BACKGROUND_DEFAULTS.bubbleBlur)
9388
9391
  });
9389
9392
  /**
9390
9393
  * Settings namespace for the Wallpaper Engine bridge, owned by the skin
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@linxin666/dsh-client-ui-skin-center",
3
3
  "description": "In-GUI skin center for the dsh web GUI — the single skin package: skins are pure asset directories (built-in plus $DSH_HOME/skins) loaded and rendered only by the skin center; live try-on and one-click apply switch atomically in the page (no reload, no cordis.patch.yml rewrite, no restart)",
4
- "version": "0.3.21",
4
+ "version": "0.3.22",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -286,9 +286,11 @@ body[data-ds-dark-theme] [data-phase="active"] [class*="composerSeat"]:before {
286
286
  * Both knobs come from the skin-center Background card and are read as optional
287
287
  * variables with fallbacks: the blur is var(--dsh-skin-bubble-blur, 10px), and
288
288
  * every text plate alpha rides var(--dsh-skin-bubble-alpha, .5). Each plate keeps
289
- * its own ratio so the default 50% reproduces the values this layer first shipped
290
- * with. The "Bubble opacity" slider therefore drives everything painted *behind
291
- * text* -- markdown blocks, tool output, the turn-process row -- and nothing else.
289
+ * its own ratio so the default reproduces the values this layer first shipped
290
+ * with -- the user's own bubble runs at 120% on both knobs, which is what its
291
+ * hand-tuned 12px / 60% used to be. The "Bubble opacity" slider therefore drives
292
+ * everything painted *behind text* -- markdown blocks, tool output, the
293
+ * turn-process row -- and nothing else.
292
294
  * The window chrome (header, right sidebar) is deliberately not on that slider:
293
295
  * it is frame, not bubble, and it keeps a fixed density.
294
296
  *
@@ -597,12 +599,18 @@ body[data-ds-dark-theme] [data-slot="conversation.session"] [class*="callRow"] [
597
599
 
598
600
  /* Keep the accent fill the skin already assigns, add translucency to it and
599
601
  frost what shows through. The compound selector matters: a bare
600
- [class*="bubble"] would also catch unrelated bubbles elsewhere in the shell. */
602
+ [class*="bubble"] would also catch unrelated bubbles elsewhere in the shell.
603
+
604
+ The user's own bubble has always been the frosted one of the two -- deeper
605
+ than the plates around it -- so it rides the same slider at 120%: the default
606
+ 10px reproduces the 12px this rule carried before the variable existed, and
607
+ the knob scales it in step with everything else. The alpha above uses the
608
+ same ratio for the same reason. */
601
609
  [data-slot="main.conversation"] [class*="userStack"] [class*="bubble"] {
602
610
  /* 120% of the slider reproduces the 60% body this layer shipped with. */
603
611
  background: color-mix(in srgb, var(--dsw-specific-bubble) calc(var(--dsh-skin-bubble-alpha, .5) * 120%), transparent);
604
- -webkit-backdrop-filter: blur(var(--dsh-skin-bubble-blur, 12px)) saturate(1.3);
605
- backdrop-filter: blur(var(--dsh-skin-bubble-blur, 12px)) saturate(1.3);
612
+ -webkit-backdrop-filter: blur(calc(var(--dsh-skin-bubble-blur, 10px) * 1.2)) saturate(1.3);
613
+ backdrop-filter: blur(calc(var(--dsh-skin-bubble-blur, 10px) * 1.2)) saturate(1.3);
606
614
  }
607
615
 
608
616
  /* --- deliverables row (this turn's produced files) ------------------------ */