dsh-deepseek-style-theme 2.0.87 → 2.0.88
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/THIRD-PARTY-NOTICES.md +11 -3
- package/lib/client.js +41 -13
- package/package.json +1 -1
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -6,9 +6,7 @@ must be preserved in every redistribution.
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## dsh-theme-mineradio — code included
|
|
10
|
-
|
|
11
|
-
`lib/client.js` contains a port of the fluid-shader subsystem and the glass
|
|
9
|
+
## dsh-theme-mineradio — code included`lib/client.js` contains a port of the fluid-shader subsystem and the glass
|
|
12
10
|
dispersion / specular-parallax subsystem of **dsh-theme-mineradio v2.3.8**:
|
|
13
11
|
|
|
14
12
|
- the three GLSL programs (`VERTEX_SHADER`, `FLOW_SHADER`, `DISPLAY_SHADER`) and
|
|
@@ -20,6 +18,16 @@ dispersion / specular-parallax subsystem of **dsh-theme-mineradio v2.3.8**:
|
|
|
20
18
|
`supportsSvgBackdropFilter`),
|
|
21
19
|
- the specular cursor parallax (`startSpecularParallax`).
|
|
22
20
|
|
|
21
|
+
One further technique is **re-expressed, not copied** (v2.0.88): the docked bottom bar,
|
|
22
|
+
in which the composer and its stats line become a single glass slab with the backdrop
|
|
23
|
+
blur on the wrapper's `::before`, the inner surfaces transparent, and one hairline at
|
|
24
|
+
the seam. That structure comes from mineradio's "fused" state
|
|
25
|
+
(`[data-dsh-inputbar]:has([data-dsh-stats])`), including two of its recorded lessons:
|
|
26
|
+
`z-index` rather than `isolation` on the wrapper (isolation is also a backdrop root and
|
|
27
|
+
would clip popup frost to the bar) and `backdrop-filter: none` on the inner surfaces so
|
|
28
|
+
their blur cannot double up with the slab's. The declarations here are written against
|
|
29
|
+
this plugin's own tokens (`--dshome-*`), not mineradio's `--dsh-aqua-*`.
|
|
30
|
+
|
|
23
31
|
Only naming and external dependencies were adapted: plugin-scoped identifiers
|
|
24
32
|
were renamed to this plugin's `dshome-` prefix, and the upstream settings/theme
|
|
25
33
|
store and React layer were replaced by function parameters. **The GLSL shader
|
package/lib/client.js
CHANGED
|
@@ -1506,18 +1506,46 @@ body[data-dshome-dark] :is([class*="_headline"]){background:linear-gradient(120d
|
|
|
1506
1506
|
:is(${USER_BUBBLE}){background:rgba(255,255,255,.6)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 16px rgba(13,30,60,.06)}
|
|
1507
1507
|
body[data-dshome-dark] :is(${USER_BUBBLE}){background:rgba(21,42,86,.65)!important;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px rgba(0,0,0,.25)}
|
|
1508
1508
|
` },
|
|
1509
|
-
// The line under the composer
|
|
1510
|
-
//
|
|
1511
|
-
//
|
|
1512
|
-
//
|
|
1513
|
-
//
|
|
1514
|
-
//
|
|
1515
|
-
//
|
|
1516
|
-
//
|
|
1509
|
+
// The line under the composer: round/step/token stats ([data-dsh-stats]) and
|
|
1510
|
+
// the whole input bar ([data-dsh-inputbar]) -- both product markup that has
|
|
1511
|
+
// never been renamed.
|
|
1512
|
+
//
|
|
1513
|
+
// Two things happen here.
|
|
1514
|
+
//
|
|
1515
|
+
// 1. The DOCKED BOTTOM BAR, borrowed from dsh-theme-mineradio's fused state
|
|
1516
|
+
// (MIT, @dhicoc): once the stats line exists, the WHOLE input bar becomes
|
|
1517
|
+
// one glass slab -- a single border, radius, fill and shadow on the
|
|
1518
|
+
// wrapper, with the backdrop blur on its ::before -- and the card and the
|
|
1519
|
+
// stats turn transparent inside it, leaving one hairline at the seam. The
|
|
1520
|
+
// two surfaces can then never drift apart tonally, and the composer reads
|
|
1521
|
+
// as one designed bar instead of a card with loose text under it.
|
|
1522
|
+
// `:has()` is what makes this safe to attempt at all: when the product
|
|
1523
|
+
// does not render a stats line, none of it applies and the card keeps its
|
|
1524
|
+
// own glass.
|
|
1525
|
+
// Two details are load-bearing and inherited from mineradio's notes:
|
|
1526
|
+
// z-index (not isolation) on the wrapper -- isolation is also a backdrop
|
|
1527
|
+
// root and would clip popup frost to the bar -- and `backdrop-filter:
|
|
1528
|
+
// none` on the inner surfaces, whose own blur would otherwise double up
|
|
1529
|
+
// with the slab's.
|
|
1530
|
+
//
|
|
1531
|
+
// 2. The LENS touch the user asked for ("对对话窗下方文字进行放大(模拟液体放大)"):
|
|
1532
|
+
// a real lens magnifies what is behind the glass, which a backdrop filter
|
|
1533
|
+
// cannot do, so the text is scaled a touch instead -- and a touch further
|
|
1534
|
+
// while the pane leans (html[data-dshome-leaning], written by
|
|
1535
|
+
// startComposerTilt). `transform-origin: left center` keeps a
|
|
1536
|
+
// left-aligned line growing inwards instead of spilling past the slab's
|
|
1537
|
+
// right edge.
|
|
1517
1538
|
{ anchor: "[data-dsh-stats]", css: `
|
|
1518
|
-
[data-dsh-stats]{
|
|
1519
|
-
|
|
1520
|
-
|
|
1539
|
+
[data-dsh-inputbar]:has([data-dsh-stats]){position:relative;z-index:8;padding:0;border:1.5px solid rgba(255,255,255,.55);border-radius:24px;background:rgba(255,255,255,.42);box-shadow:0 8px 32px rgba(13,30,60,.1),inset 0 1px 1px hsla(0,0%,100%,.8)}
|
|
1540
|
+
[data-dsh-inputbar]:has([data-dsh-stats])::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;-webkit-backdrop-filter:blur(28px) saturate(1.42) brightness(1.02);backdrop-filter:blur(28px) saturate(1.42) brightness(1.02)}
|
|
1541
|
+
[data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card]{border:none!important;border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
|
|
1542
|
+
[data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card]::before,[data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card]::after{display:none!important}
|
|
1543
|
+
[data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{display:block;width:100%;max-width:none;box-sizing:border-box;margin:auto 0 0;min-height:24px;padding:2px 16px;border:none;border-top:1px solid rgba(0,0,0,.06);border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform-origin:left center;transition:transform .24s cubic-bezier(.2,.8,.2,1)}
|
|
1544
|
+
[data-dsh-stats]{transform:scale(1.04)}
|
|
1545
|
+
html[data-dshome-leaning] [data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{transform:scale(1.08)}
|
|
1546
|
+
body[data-dshome-dark] [data-dsh-inputbar]:has([data-dsh-stats]){border-color:rgba(255,255,255,.16);background:rgba(13,30,60,.55);box-shadow:0 10px 40px rgba(0,0,0,.35),inset 0 1px 1px rgba(255,255,255,.06)}
|
|
1547
|
+
body[data-dshome-dark] [data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{border-top-color:rgba(255,255,255,.1)}
|
|
1548
|
+
@media (prefers-reduced-motion:reduce){[data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{transition:none}}
|
|
1521
1549
|
` },
|
|
1522
1550
|
// Trajectory view bar.
|
|
1523
1551
|
{ anchor: ".fV0t5q_root", css: `
|
|
@@ -2693,7 +2721,7 @@ html[data-dshome-blur="off"] body{
|
|
|
2693
2721
|
if (!supportsWebgl2()) return startParticles();
|
|
2694
2722
|
// Which build is running, readable from the page (see README). One line in
|
|
2695
2723
|
// the console answers "is the bundle I just installed actually live?".
|
|
2696
|
-
try { window.__dshomeBuild = '2.0.
|
|
2724
|
+
try { window.__dshomeBuild = '2.0.88 fused-bar'; } catch (error) {}
|
|
2697
2725
|
const canvas = document.createElement('canvas');
|
|
2698
2726
|
canvas.setAttribute('data-dsh-deepseek-canvas', '');
|
|
2699
2727
|
const style = canvas.style;
|
|
@@ -2884,7 +2912,7 @@ html[data-dshome-blur="off"] body{
|
|
|
2884
2912
|
}
|
|
2885
2913
|
|
|
2886
2914
|
function startParticles() {
|
|
2887
|
-
try { window.__dshomeBuild = '2.0.
|
|
2915
|
+
try { window.__dshomeBuild = '2.0.88 fused-bar'; } catch (error) {}
|
|
2888
2916
|
const canvas = document.createElement('canvas');
|
|
2889
2917
|
canvas.setAttribute('data-dsh-deepseek-canvas', '');
|
|
2890
2918
|
const style = canvas.style;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-deepseek-style-theme",
|
|
3
3
|
"description": "DeepSeek official-home style theme: WebGL fluid-flow background, liquid glass with SVG edge refraction, glass sidebar and composer, frosted header, running-subagent progress panel, and DeepSeek brand link for the dsh web GUI",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.88",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"deepseek",
|