dsh-arknights-theme 1.0.0
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/ICON-ATTRIBUTION.md +45 -0
- package/LICENSE +28 -0
- package/README.md +283 -0
- package/assets/0d555849af53296a423101fb2319e4d3-narrow.webp +0 -0
- package/assets/0d555849af53296a423101fb2319e4d3-preview.webp +0 -0
- package/assets/0d555849af53296a423101fb2319e4d3-wide.webp +0 -0
- package/assets/1aa5e564d740a65d2d7a12164e9a826f-narrow.webp +0 -0
- package/assets/1aa5e564d740a65d2d7a12164e9a826f-preview.webp +0 -0
- package/assets/1aa5e564d740a65d2d7a12164e9a826f-wide.webp +0 -0
- package/assets/411e9b905a14497996bca303cf8429e6-narrow.webp +0 -0
- package/assets/411e9b905a14497996bca303cf8429e6-preview.webp +0 -0
- package/assets/411e9b905a14497996bca303cf8429e6-wide.webp +0 -0
- package/assets/7edeaee2037cd33e39f4bb1f1e358aab-narrow.webp +0 -0
- package/assets/7edeaee2037cd33e39f4bb1f1e358aab-preview.webp +0 -0
- package/assets/7edeaee2037cd33e39f4bb1f1e358aab-wide.webp +0 -0
- package/assets/832d435484f5905093721d315bb60134-narrow.webp +0 -0
- package/assets/832d435484f5905093721d315bb60134-preview.webp +0 -0
- package/assets/832d435484f5905093721d315bb60134-wide.webp +0 -0
- package/assets/83d33525d0e9dbdf83dbf7be5844b51c-narrow.webp +0 -0
- package/assets/83d33525d0e9dbdf83dbf7be5844b51c-preview.webp +0 -0
- package/assets/83d33525d0e9dbdf83dbf7be5844b51c-wide.webp +0 -0
- package/assets/87a14beae58e6309e52915cc62b9cd0b-narrow.webp +0 -0
- package/assets/87a14beae58e6309e52915cc62b9cd0b-preview.webp +0 -0
- package/assets/87a14beae58e6309e52915cc62b9cd0b-wide.webp +0 -0
- package/assets/8af3a3cc2360a8c74e9809fb5281a644-narrow.webp +0 -0
- package/assets/8af3a3cc2360a8c74e9809fb5281a644-preview.webp +0 -0
- package/assets/8af3a3cc2360a8c74e9809fb5281a644-wide.webp +0 -0
- package/assets/90164de0952ef8a66f46b0c1d9e19cb0-narrow.webp +0 -0
- package/assets/90164de0952ef8a66f46b0c1d9e19cb0-preview.webp +0 -0
- package/assets/90164de0952ef8a66f46b0c1d9e19cb0-wide.webp +0 -0
- package/assets/a897ddc19e122d7cb0ba70505db073fe-narrow.webp +0 -0
- package/assets/a897ddc19e122d7cb0ba70505db073fe-preview.webp +0 -0
- package/assets/a897ddc19e122d7cb0ba70505db073fe-wide.webp +0 -0
- package/assets/c90ef1248afbcba5f2034afedd601a05-narrow.webp +0 -0
- package/assets/c90ef1248afbcba5f2034afedd601a05-preview.webp +0 -0
- package/assets/c90ef1248afbcba5f2034afedd601a05-wide.webp +0 -0
- package/assets/d03aad3af10c655b80e37c3fe5dec298-narrow.webp +0 -0
- package/assets/d03aad3af10c655b80e37c3fe5dec298-preview.webp +0 -0
- package/assets/d03aad3af10c655b80e37c3fe5dec298-wide.webp +0 -0
- package/assets/preview-data.json +4874 -0
- package/assets/signatures/doctor.png +0 -0
- package/assets/signatures/kaltsit.png +0 -0
- package/assets/signatures/theresa.png +0 -0
- package/assets/skin.css +1749 -0
- package/assets/wallpapers.json +775 -0
- package/cordis.patch.yml +6 -0
- package/icons/folder-dossier-active.svg +6 -0
- package/icons/folder-dossier.svg +5 -0
- package/icons/hazard-rule.svg +4 -0
- package/icons/panel-collapse.svg +6 -0
- package/icons/panel-expand.svg +6 -0
- package/icons/perm-full.svg +5 -0
- package/icons/perm-readonly.svg +5 -0
- package/icons/perm-workspace.svg +4 -0
- package/icons/wallpaper-step.svg +5 -0
- package/lib/client.js +6219 -0
- package/lib/index.js +330 -0
- package/package.json +66 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Icon attribution / 图标来源
|
|
2
|
+
|
|
3
|
+
Every glyph below is bundled with the plugin: game assets come from the PRTS wiki
|
|
4
|
+
and are inlined into `lib/client.js` and `assets/skin.css` as data URIs, so the plugin
|
|
5
|
+
needs no extra requests and no files outside the package. They are Hypergryph's
|
|
6
|
+
property, bundled for a personal, local interface skin. The four signatures are the
|
|
7
|
+
user's own files and also ship as sources under `assets/signatures/`.
|
|
8
|
+
|
|
9
|
+
下面每个图形都随插件分发:游戏素材取自 PRTS Wiki(`media.prts.wiki`),以 data URI
|
|
10
|
+
内联进 `lib/client.js` 与 `assets/skin.css`,因此插件不需要额外请求、也不依赖包外文件。
|
|
11
|
+
它们版权归鹰角网络所有,仅用于个人本地的界面美化。四张签名的原图同时放在
|
|
12
|
+
`assets/signatures/` 里随包分发。
|
|
13
|
+
|
|
14
|
+
Source / 来源: [PRTS wiki](https://prts.wiki/w/%E9%A6%96%E9%A1%B5) · fetched by `fetch-prts-icons.mjs`
|
|
15
|
+
|
|
16
|
+
| Bundle key | PRTS file / 来源 | Role / 用途 |
|
|
17
|
+
| --- | --- | --- |
|
|
18
|
+
| `amiya-special` | 文件:Avatar special 35.png(用户提供) | New-session glyph: the illustration the user supplied. It is a 150x150 scene with a black vignette reaching every edge and no transparency (0.0% of pixels are clear), so it is not usable as-is at glyph size — the `medallion` transform cuts it to the lit subject and masks it to a soft circle, which removes the frame and lifts the exposure. |
|
|
19
|
+
| `sign-doctor` | 博士签名(用户提供:D:\夸克下载\签名\博士.png) | The Doctor's handwritten signature, 603x172, dark ink on transparency (median alpha 0.91). Signs the confirm button of the question card, beside 提交. |
|
|
20
|
+
| `sign-theresa` | 特蕾西娅签名(用户提供:D:\夸克下载\签名\特蕾西娅.png) | Theresa's handwritten signature, 616x264, dark ink on transparency (median alpha 1.00). Signs the skip button of the question card, beside 跳过本题. |
|
|
21
|
+
| `sign-kaltsit` | 干员签名 · 凯尔希(用户提供的本地文件 `signatures/kaltsit.png`) | Kal'tsit's handwritten signature, 190x55, dark ink on transparency — the occupant of the dispatch bar slot between the wallpaper controls and the model switcher. PRTS hosts only Amiya's autograph, so this comes from the `signatures/` drop folder; the slot falls back to `sign-amiya` if the file is not there. |
|
|
22
|
+
| `rhodes-island` | [文件:Logo 罗德岛.png](https://media.prts.wiki/4/41/Logo_%E7%BD%97%E5%BE%B7%E5%B2%9B.png) | Sidebar brand mark. 510x510, the faction emblem. |
|
|
23
|
+
| `amiya-avatar` | [文件:头像 阿米娅.png](https://media.prts.wiki/3/36/%E5%A4%B4%E5%83%8F_%E9%98%BF%E7%B1%B3%E5%A8%85.png) | Amiya operator avatar. Picker header and the footer wallpaper button. |
|
|
24
|
+
| `amiya-avatar-skin2` | [文件:头像 阿米娅 skin2.png](https://media.prts.wiki/b/b4/%E5%A4%B4%E5%83%8F_%E9%98%BF%E7%B1%B3%E5%A8%85_skin2.png) | Amiya alternate skin avatar, used as the faint backdrop watermark. |
|
|
25
|
+
| `originium-pure` | [文件:道具 至纯源石.png](https://media.prts.wiki/8/8a/%E9%81%93%E5%85%B7_%E8%87%B3%E7%BA%AF%E6%BA%90%E7%9F%B3.png) | Pure originium. Section marker above the wallpaper grid. |
|
|
26
|
+
| `op-kaltsit` | [文件:头像 凯尔希.png](https://media.prts.wiki/c/c5/%E5%A4%B4%E5%83%8F_%E5%87%AF%E5%B0%94%E5%B8%8C.png) | Kal'tsit operator portrait (凯尔希), 256x256. Assigned to green wallpapers. |
|
|
27
|
+
| `sign-amiya` | [文件:收藏贴 阿米娅签名.png](https://media.prts.wiki/6/60/%E6%94%B6%E8%97%8F%E8%B4%B4_%E9%98%BF%E7%B1%B3%E5%A8%85%E7%AD%BE%E5%90%8D.png) | Amiya's own handwritten signature, 228x118. Signs the wallpaper picker's header plate, inverted into the skin's amber. |
|
|
28
|
+
| `logo-ursus` | [文件:Logo 乌萨斯.png](https://media.prts.wiki/d/d8/Logo_%E4%B9%8C%E8%90%A8%E6%96%AF.png) | Ursus national emblem, 510x510 white line art. Leads the consumption pill in the composer's instrument strip (tokens spent / cache hits). |
|
|
29
|
+
| `icon-draft` | [文件:图标 未定稿.png](https://media.prts.wiki/b/bd/%E5%9B%BE%E6%A0%87_%E6%9C%AA%E5%AE%9A%E7%A8%BF.png) | The game's 'unfinalised draft' marker, 31x31. Leads the preview badge beside the blank-session headline — the badge says 预览版, and this is the game's own glyph for exactly that. |
|
|
30
|
+
| `arknights-logo` | [文件:Logo 明日方舟.svg](https://media.prts.wiki/b/bf/Logo_%E6%98%8E%E6%97%A5%E6%96%B9%E8%88%9F.svg) | The game's own wordmark, in front of the blank-session headline where the host puts its fish. Shipped as an SVG (viewBox 0 0 203 113) and rasterised by sharp at build time: the source is 52 KiB, the 172x96 PNG it becomes is 3.3 KiB. |
|
|
31
|
+
| `logo-sherag` | [文件:Logo 谢拉格.png](https://media.prts.wiki/d/d8/Logo_%E8%B0%A2%E6%8B%89%E6%A0%BC.png) | Sherag (Kjerag) national emblem, 510x510 white line art. Leads the activity pill in the composer's instrument strip (turns / steps / tok per second). |
|
|
32
|
+
|
|
33
|
+
Drawn in this repository rather than sourced — interface affordances, not game art:
|
|
34
|
+
本仓库绘制、非游戏素材(界面装饰):
|
|
35
|
+
|
|
36
|
+
- `hazard-rule`
|
|
37
|
+
- `panel-collapse`
|
|
38
|
+
- `panel-expand`
|
|
39
|
+
- `wallpaper-step`
|
|
40
|
+
|
|
41
|
+
Registered in the catalogue with its provenance but not rendered by anything in this
|
|
42
|
+
version, so it is deliberately not inlined:
|
|
43
|
+
已登记来源、但当前版本没有任何地方渲染,因此不内联(留在素材目录里备用):
|
|
44
|
+
|
|
45
|
+
`originium`, `rhodes-elite`, `op-rosmontis`, `op-rosmontis-alt`, `op-chen`, `op-exusiai`, `op-silverash`, `class-vanguard`, `class-guard`, `class-defender`, `class-sniper`, `class-caster`, `class-medic`, `class-supporter`, `class-specialist`, `class-vanguard-lg`, `class-guard-lg`, `class-defender-lg`, `class-sniper-lg`, `class-caster-lg`, `class-medic-lg`, `class-supporter-lg`, `class-specialist-lg`, `amiya-elite`, `amiya-guard`, `icon-time`, `logo-columbia`, `logo-victoria`, `logo-leithanien`, `logo-kazimierz`, `logo-iberia`.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Theflowyears
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
--- third-party assets are NOT covered by the MIT licence above ---
|
|
24
|
+
The bundled artwork (wallpapers) and the icon set are the property of their
|
|
25
|
+
respective rights holders: the game artwork is (c) Hypergryph / Studio Montagne,
|
|
26
|
+
and each illustration remains the copyright of the artist who drew it. Icon
|
|
27
|
+
assets are taken from the PRTS wiki. They are included for personal, local,
|
|
28
|
+
non-commercial use with attribution; see ICON-ATTRIBUTION.md.
|
package/README.md
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
# 明日方舟主题美化包 · Arknights Theme Pack
|
|
2
|
+
|
|
3
|
+
> 一款专为粥批定制的明日方舟主题拓展包,旨在为每一位明日方舟提供最沉浸式的DSH体验,无论是背景里的阿米娅还是各处细节中的干员签名,都在提醒你一件事:博士,您还有许多事情需要处理。 现在还不能休息哦。
|
|
4
|
+
|
|
5
|
+
**为《明日方舟》玩家在 DeepSeek Harness Web 上构建沉浸感。**
|
|
6
|
+
**Building immersion for Arknights players on the DeepSeek Harness Web GUI.**
|
|
7
|
+
|
|
8
|
+
整屏壁纸、按每张图解算的玻璃与文字色、罗德岛图标体系,以及签字式的授权与选择交互 ——
|
|
9
|
+
它们一起构成一种像在罗德岛里工作的感觉,而不是把界面刷一层主题色。
|
|
10
|
+
A full-screen picture, glass and ink solved from each image, Rhodes Island iconography, and
|
|
11
|
+
sign-off style interactions — together they feel like working inside Rhodes Island, rather than
|
|
12
|
+
a coat of theme paint.
|
|
13
|
+
|
|
14
|
+
## 安装 / Install
|
|
15
|
+
|
|
16
|
+
**预构建包(推荐) / Prebuilt tarball (recommended)**
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
dsh plugin add https://github.com/Theflowyears/dsh-arknights-theme/releases/download/v1.0.0/dsh-arknights-theme-1.0.0.tgz
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**从仓库安装 / From the repository**
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
dsh plugin add Theflowyears/dsh-arknights-theme
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
装完**重启 `dsh web`** 再刷新页面。插件在 `package.json` 里声明了 `dsh.bundle`,两种装法都行;
|
|
29
|
+
预构建包已经把客户端与素材打包好,省掉构建授权那一步。
|
|
30
|
+
Restart `dsh web` afterwards, then reload. The package declares `dsh.bundle`, so it installs
|
|
31
|
+
straight from the repository; the prebuilt tarball ships the client and assets ready-made, which
|
|
32
|
+
skips the build-approval step. Requires a DSH build whose `@deepseek-ai/cordis` is 4.x.
|
|
33
|
+
|
|
34
|
+
## 亮点 / Highlights
|
|
35
|
+
|
|
36
|
+
- **12 张壁纸,参数按图算**:虚化半径、羽化宽度、四周遮罩浓度由每张图自己的色彩统计得出,不是一套固定参数
|
|
37
|
+
(实测虚化 σ 落在 16.7–33.3)。
|
|
38
|
+
**Twelve wallpapers, solved per image**: blur radius, feathering and scrim come from each
|
|
39
|
+
picture's own colour statistics rather than one fixed recipe (measured σ 16.7–33.3).
|
|
40
|
+
- **可读性是解出来的**:文字色取画面主色相、用 OKLCH 求亮度,保证在最差那层玻璃上仍达 WCAG AA
|
|
41
|
+
(正文 ≥ 4.5:1);沉浸度滑杆在「看得清」与「看得见壁纸」之间连续插值,并实时显示实测对比度。
|
|
42
|
+
**Readability is solved**: ink takes the picture's hue and a lightness solved in OKLCH to hold
|
|
43
|
+
WCAG AA on the worst surface; the dial interpolates between readable and immersive and shows
|
|
44
|
+
the measured contrast as you drag.
|
|
45
|
+
- **罗德岛图标体系**:侧栏品牌、新会话、文件夹行、折叠控件、壁纸控件、选择器页眉、输入栏圆章、
|
|
46
|
+
会话数据前的国家徽记 —— 全部换成 PRTS 素材,或本仓库为界面绘制的图形(逐项来源见 ICON-ATTRIBUTION.md)。
|
|
47
|
+
**Rhodes Island iconography** across the brand plate, new session, folder rows, fold chip,
|
|
48
|
+
wallpaper controls, picker header, composer roundel and the session figures — all PRTS art or
|
|
49
|
+
glyphs drawn here for the interface, itemised in ICON-ATTRIBUTION.md.
|
|
50
|
+
- **签字式的确认**:权限批准条上「允许」带阿米娅签名、「拒绝」带凯尔希签名;选项卡上「提交」带博士签名、
|
|
51
|
+
「跳过本题」带特蕾西娅签名。四张签名都随包分发,并以图片的 alpha 通道上色(`mask-image`),
|
|
52
|
+
所以在深色与浅色两套配色下都清楚,不会出现"浅色盖浅色"。
|
|
53
|
+
**Sign-off interactions**: Amiya and Kal'tsit sign the approval panel; the Doctor and Theresa
|
|
54
|
+
sign the question card's submit and skip. All four signatures ship with the package and are
|
|
55
|
+
painted through their alpha channel (`mask-image`), so they read on both palettes instead of
|
|
56
|
+
pale-on-pale.
|
|
57
|
+
- **空会话页**:明日方舟字标、「重铸未来,方舟启航」艺术字标题,以及方舟配色的预览角标。
|
|
58
|
+
**Blank session**: the Arknights wordmark, a gradient wordmark headline, and a preview badge in
|
|
59
|
+
the game's palette.
|
|
60
|
+
- **一键换壁纸**:选择器有 640×360 预览、每张的分析标签、沉浸度滑杆与可折叠的画师名单;侧栏「切换」
|
|
61
|
+
按钮直接下一张(Shift 反向)。**默认落在第 12 张**,选择按 id 记住,重启后仍在。
|
|
62
|
+
**One-click switching**: previews, per-image labels, the dial and a collapsible illustrator
|
|
63
|
+
credit; the 切换 button steps straight to the next picture (Shift reverses). A fresh install
|
|
64
|
+
lands on **wallpaper 12**, remembered by id across restarts.
|
|
65
|
+
|
|
66
|
+
## 截图 / Screenshots
|
|
67
|
+
|
|
68
|
+
见 [screenshots.json](./screenshots.json)(选用的是壁纸挑选器里的预览图)。界面截图欢迎提 PR 补充。
|
|
69
|
+
See [screenshots.json](./screenshots.json) for the picker previews; screenshots of the interface
|
|
70
|
+
itself are welcome as a PR.
|
|
71
|
+
|
|
72
|
+
## 素材与版权 / Assets and rights
|
|
73
|
+
|
|
74
|
+
**代码 MIT;美术素材不是。** 游戏美术版权归鹰角网络(Hypergryph / Studio Montagne)所有,
|
|
75
|
+
**每张插画仍归绘制它的画师本人所有**;图标与签名同理。素材随包分发,**仅供个人在本地为自己的界面
|
|
76
|
+
使用**:请勿商用、请勿二次分发。画师名单见 [ARTWORK-ATTRIBUTION.md](./ARTWORK-ATTRIBUTION.md)
|
|
77
|
+
(壁纸选择界面里也有一份可折叠的名单),图标来源见 [ICON-ATTRIBUTION.md](./ICON-ATTRIBUTION.md)。
|
|
78
|
+
**The code is MIT; the artwork is not.** Game art belongs to Hypergryph / Studio Montagne, and each
|
|
79
|
+
illustration remains its illustrator's — as do the icons and the signatures. The assets are
|
|
80
|
+
bundled for **personal, local use only**: not for commercial use, not for redistribution.
|
|
81
|
+
|
|
82
|
+
**画师 / Illustrators:** 阿没MEInoss · soho · ぷらねっと · NUEE · 史里爬 · 最上-川 · Coomlee · momostima
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
以下为完整文档:安装、功能清单、壁纸管线、图标与签名、包内结构、重建方式与已知边界。
|
|
87
|
+
The full documentation follows: install, what you get, the wallpaper pipeline, iconography and
|
|
88
|
+
signatures, what is inside the package, how to rebuild, and known limits.
|
|
89
|
+
|
|
90
|
+
# dsh-amiya-wallpaper
|
|
91
|
+
|
|
92
|
+
**包内文档 / Package documentation.** 讲它由什么构成、每张壁纸被算了什么、每个图标用在哪里、
|
|
93
|
+
怎么重建、以及边界在哪。安装步骤与亮点在仓库首页。
|
|
94
|
+
This is the manual: what the package is made of, what is measured per wallpaper, where every
|
|
95
|
+
glyph is used, how to rebuild it, and where its limits are. Installation and the highlight reel
|
|
96
|
+
live on the repository front page.
|
|
97
|
+
|
|
98
|
+
- 版本 / Version: **1.0.0**
|
|
99
|
+
- 适用 / Requires: DSH Web,`@deepseek-ai/cordis` 4.x
|
|
100
|
+
- 许可 / Licence: 代码 MIT,美术素材不在 MIT 范围内(见 [版权与署名](#版权与署名--rights-and-credit))
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 安装 / Install
|
|
105
|
+
|
|
106
|
+
```sh
|
|
107
|
+
dsh plugin add Theflowyears/dsh-arknights-theme
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
装完**重启 `dsh web`**,然后刷新页面。
|
|
111
|
+
Restart `dsh web` afterwards, then reload the page.
|
|
112
|
+
|
|
113
|
+
包内声明了 `dsh.bundle.patch`,所以可以按仓库直接安装;插件由宿主与浏览器两半组成,
|
|
114
|
+
**重启 `dsh web`** 让两半都重新载入(只改 CSS 的话刷新页面就够 —— 客户端会带着
|
|
115
|
+
`no-store` 去拉 live 样式表并替换注入的那份)。
|
|
116
|
+
The package declares `dsh.bundle.patch`, so it installs straight from the repository. It has a
|
|
117
|
+
host half and a browser half; restart `dsh web` so both load. A CSS-only change needs nothing
|
|
118
|
+
but a page reload — the client re-fetches the live stylesheet with `no-store` and swaps it in.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 装完你会看到什么 / What you get
|
|
123
|
+
|
|
124
|
+
| 位置 / Where | 效果 / What it does |
|
|
125
|
+
| --- | --- |
|
|
126
|
+
| 整屏壁纸 / Full-screen wallpaper | 12 张壁纸自己的固定图层,界面叠在它上面。**默认落在第 12 张**(按 id 记住,重新导入壁纸顺序变了也不会漂)/ A fixed layer per wallpaper with the app stacked above it. A fresh install lands on **wallpaper 12**, remembered by id rather than by position |
|
|
127
|
+
| 边缘虚化 / Edge blur | **按每张图自己的"繁杂度"算**:主体清晰、四周按高斯半径虚化并混回原色。实测 σ 落在 **16.7 – 33.3** / Solved per image from its own busyness: the centre stays sharp, the sides blur and are mixed back. Measured σ lands between **16.7 and 33.3** |
|
|
128
|
+
| 亚克力侧栏 / Acrylic sidebar | 左侧栏一层 `blur(32px)` 的玻璃,不是一块实心板 / One layer of `blur(32px)` glass on the left column, not a slab |
|
|
129
|
+
| 沉浸度滑杆 / Immersion dial | 0–100 可调,**默认 20**;拖动时玻璃与文字色实时重算,并显示实测对比度 / A 0–100 dial, **default 20**; glass and ink are recomputed as you drag, with the measured contrast shown |
|
|
130
|
+
| 罗德岛图标体系 / Rhodes Island iconography | 侧栏品牌、新会话、文件夹、折叠、壁纸控件、选择器、输入栏圆章等全部换成游戏素材(逐项清单见下)/ Brand plate, new-session, folder rows, fold chip, wallpaper controls, picker, composer roundel — all game art, itemised below |
|
|
131
|
+
| 壁纸选择器 / Wallpaper picker | 一键换壁纸:高清预览、每张的分析标签、沉浸度滑杆、可折叠的画师名单 / One-click wallpaper switching: hi-res previews, a per-image analysis label, the immersion dial, and the illustrator credit in a collapsible block |
|
|
132
|
+
| 快速切换 / Quick step | 侧栏底部一个「切换」按钮直接下一张(Shift 反向),不用打开选择器 / One 切换 button steps straight to the next picture (Shift reverses) |
|
|
133
|
+
| 权限批准条 / Approval panel | 工具请求授权时,**允许**带阿米娅签名、**拒绝**带凯尔希签名 / When a tool needs approval, 允许 carries Amiya's signature and 拒绝 carries Kal'tsit's |
|
|
134
|
+
| 选项卡 / Question card | 给出选项让你选的那张卡:**提交**带博士签名、**跳过本题**带特蕾西娅签名 / The card that offers you a choice: 提交 carries the Doctor's signature, 跳过本题 carries Theresa's |
|
|
135
|
+
| 空会话页 / Blank session | 明日方舟字标 + 「重铸未来,方舟启航」艺术字 + 方舟配色的预览角标 / The Arknights wordmark, the 重铸未来,方舟启航 wordmark, and a preview badge in the game's palette |
|
|
136
|
+
| 选择会被记住 / Choice is remembered | 壁纸、沉浸度、深浅配色偏好都写进 `localStorage`,重启后仍在 / Wallpaper, immersion and palette preference persist in `localStorage` |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 壁纸 / The wallpapers
|
|
141
|
+
|
|
142
|
+
12 张,每张在导入时都会被量一次,并把结果写进 `assets/wallpapers.json`:
|
|
143
|
+
Twelve, each measured once at import time, with the result recorded in `assets/wallpapers.json`:
|
|
144
|
+
|
|
145
|
+
| 量的是什么 / What is measured | 用在哪 / What it drives |
|
|
146
|
+
| --- | --- |
|
|
147
|
+
| 饱和度、色相、亮度、色彩分布 / saturation, hue, luminance, spread | 边缘虚化半径、羽化比例、四周遮罩浓度 / blur radius, feather ratio, scrim alpha |
|
|
148
|
+
| 画面的平均色 / the picture's mean colour | 玻璃与文字的**解算**(见下)/ the solved glass and ink |
|
|
149
|
+
| 宽屏 / 窄屏两种裁切 + LQIP / wide and narrow cuts plus a placeholder | 首帧先用 LQIP 占位,再换成真实图片 / the first frame paints the LQIP, then the real cut |
|
|
150
|
+
| 640×360 预览图 / a 640×360 preview | 选择器里的缩略图 / the picker's cells |
|
|
151
|
+
|
|
152
|
+
实测范围 / Measured ranges: `blurSigma` 16.7–33.3 · `featherRatio` 0.110–0.147 ·
|
|
153
|
+
`saturation` 0.07–0.42 · 12 张 / 12 images, 7.9 MiB 包内 / inside the package.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 可读性是算出来的 / Readability is solved, not guessed
|
|
158
|
+
|
|
159
|
+
这是这套皮肤的核心,也是它和"换个背景图"最大的区别。
|
|
160
|
+
This is the heart of the skin, and the difference between it and "set a background image".
|
|
161
|
+
|
|
162
|
+
1. **文字色来自壁纸,而不是写死的黑或白。**
|
|
163
|
+
取画面的主色相,用 OKLCH 求解亮度,保证正文在最差的那层玻璃上仍达 **WCAG AA**(正文 ≥ 4.5:1)。
|
|
164
|
+
**Ink is derived from the picture**, not hard-coded: the hue comes from the image, the
|
|
165
|
+
lightness is solved in OKLCH so body text keeps **WCAG AA** (≥ 4.5:1) on the worst surface.
|
|
166
|
+
2. **玻璃的浓度按画面亮度解算**,并随沉浸度滑杆插值,两端分别是"完全沉浸"和"最好读"。
|
|
167
|
+
**Glass opacity is solved from the picture's luminance** and interpolated by the immersion
|
|
168
|
+
dial, whose ends are "fully immersive" and "most readable".
|
|
169
|
+
3. **文字层最低不透明度 0.45**(`TEXT_SURFACE_MIN_ALPHA`),低于它就不再让画面透过来影响阅读。
|
|
170
|
+
**Text surfaces never go below 0.45 alpha** (`TEXT_SURFACE_MIN_ALPHA`).
|
|
171
|
+
4. 选择器实时显示当前壁纸在当前沉浸度下的**实测对比度**。
|
|
172
|
+
The picker shows the *measured* contrast for the current picture at the current immersion.
|
|
173
|
+
|
|
174
|
+
浅色与深色两套配色各自解算,互不借用。
|
|
175
|
+
The light and dark palettes are solved independently; neither borrows the other's numbers.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 图标与签名 / Iconography and signatures
|
|
180
|
+
|
|
181
|
+
**每一个图形都来自 PRTS 或由本仓库绘制,逐项来源记录在 `ICON-ATTRIBUTION.md`。**
|
|
182
|
+
**Every glyph is either PRTS game art or drawn in this repository; the per-item provenance is
|
|
183
|
+
in `ICON-ATTRIBUTION.md`.**
|
|
184
|
+
|
|
185
|
+
| 用在哪 / Where | 素材 / Asset |
|
|
186
|
+
| --- | --- |
|
|
187
|
+
| 侧栏品牌板 / sidebar brand plate | `Logo 罗德岛.png` — 罗德岛徽记 / the Rhodes Island emblem |
|
|
188
|
+
| 新会话 / new session | 用户提供的头像,经 `medallion` 变换裁成圆形徽章(28px)/ the supplied portrait, cut to a lit circle |
|
|
189
|
+
| 空会话字标 / hero wordmark | `Logo 明日方舟.svg` — 游戏字标,构建时光栅化(172×96,3.3 KiB)/ the game's wordmark, rasterised at build time |
|
|
190
|
+
| 预览角标 / preview badge | `图标 未定稿.png` — 游戏里表示"未定稿"的图标 / the game's "unfinalised draft" marker |
|
|
191
|
+
| 文件夹行 / folder rows | `道具 至纯源石.png` / the pure-originium shard |
|
|
192
|
+
| 折叠控件 / fold chip | 本仓库绘制(面板轮廓 + 双箭头)/ drawn here: a panel outline with a doubled chevron |
|
|
193
|
+
| 警示斜纹 / caution stripe | 本仓库绘制(装饰纹理,不是游戏素材)/ drawn here — a texture, not game art |
|
|
194
|
+
| 输入栏圆章 / composer roundel | `头像 凯尔希.png` / Kal'tsit's portrait |
|
|
195
|
+
| 输入栏签名 / composer signature | 凯尔希手写签名(`signatures/kaltsit.png`)/ Kal'tsit's autograph |
|
|
196
|
+
| 选择器页眉 / picker header | `收藏贴 阿米娅签名.png` / Amiya's autograph |
|
|
197
|
+
| 仪表栏两条 / instrument strip | `Logo 谢拉格.png` 与 `Logo 乌萨斯.png` — 两条会话数据前的国家徽记 / national emblems before the two session figures |
|
|
198
|
+
| 授权卡 / approval panel | 阿米娅(允许)、凯尔希(拒绝)/ Amiya for 允许, Kal'tsit for 拒绝 |
|
|
199
|
+
| 选项卡 / question card | 博士(提交)、特蕾西娅(跳过本题)/ the Doctor for 提交, Theresa for 跳过本题 |
|
|
200
|
+
| 角标水印 / corner watermark | `头像 阿米娅 skin2.png` / Amiya's skin-2 portrait |
|
|
201
|
+
| 壁纸控件 / wallpaper controls | 当前壁纸缩略图 + 本仓库绘制的双箭头 / the picture's own thumbnail plus an authored chevron |
|
|
202
|
+
|
|
203
|
+
**四张签名都在包内**:`assets/signatures/` 里是原图,同时被内联进样式表(所以装完即用,
|
|
204
|
+
不需要额外请求)。签名的上色一律走 `mask-image` —— 图片只提供 alpha,颜色由 CSS 画,
|
|
205
|
+
并按配色给两套实测色值(深色玻璃 `rgb(255 206 98)`,浅色玻璃 `rgb(74 44 0)`)。
|
|
206
|
+
如果不是这样,白色线稿会在浅色玻璃上直接消失。
|
|
207
|
+
**All four signatures ship inside the package**: the sources are in `assets/signatures/`, and
|
|
208
|
+
they are also inlined into the stylesheet, so they work with no extra requests. They are
|
|
209
|
+
recoloured through `mask-image` — the artwork supplies only its alpha and CSS paints the
|
|
210
|
+
colour, in two measured inks per palette. Otherwise white line art would vanish on the light
|
|
211
|
+
plate.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## 包内结构 / Inside the package
|
|
216
|
+
|
|
217
|
+
| 路径 / Path | 作用 / Role |
|
|
218
|
+
| --- | --- |
|
|
219
|
+
| `lib/index.js` | 宿主半:一条路由提供 `assets/`,并往 `index.html` 注入样式表与皮肤标记 / host half: serves `assets/` on one route and injects the stylesheet plus the skin attribute |
|
|
220
|
+
| `lib/client.js` | 浏览器半(生成物):画壁纸、解算玻璃与文字色、占据各个插槽 / browser half (generated): paints, solves, and occupies the slots |
|
|
221
|
+
| `cordis.patch.yml` | 把插件行插进 profile 的组合 / inserts the plugin row into the profile |
|
|
222
|
+
| `assets/wallpapers.json` | 每张壁纸的测量与解算结果 / per-image measurements and solved values |
|
|
223
|
+
| `assets/*-wide.webp`, `*-narrow.webp` | 两种裁切 / both cuts |
|
|
224
|
+
| `assets/*-lqip.webp`, `*-preview.webp` | 首帧占位与选择器预览 / first-frame placeholder and picker previews |
|
|
225
|
+
| `assets/skin.css` | 完全替换占位符后的样式表,可独立使用 / the fully substituted stylesheet, usable standalone |
|
|
226
|
+
| `assets/signatures/*.png` | 四张签名的原图 / the four signatures, as supplied |
|
|
227
|
+
| `icons/*.svg` | 本仓库绘制的四个图形 / the four glyphs drawn here |
|
|
228
|
+
| `ICON-ATTRIBUTION.md` | 每个图形的来源与用途 / per-glyph provenance |
|
|
229
|
+
| `README.md` | 本文档 / this document |
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 自己重建 / Rebuilding
|
|
234
|
+
|
|
235
|
+
包是**生成物**:`lib/client.js` 与 `assets/skin.css` 由工具链从壁纸、图标与源码模板产出,
|
|
236
|
+
不手改。要改行为就改源码再构建,这样下一次构建不会把你的手改覆盖掉。
|
|
237
|
+
The package is generated: `lib/client.js` and `assets/skin.css` come out of the build, and are
|
|
238
|
+
not hand-edited — change the sources and rebuild, or the next build will overwrite your edit.
|
|
239
|
+
|
|
240
|
+
需要素材时,图标由 `prts-assets.json` 描述的地址从 PRTS 重新抓取,签名则从
|
|
241
|
+
`signatures/` 读取(包里也带了一份,`assets/signatures/`)。
|
|
242
|
+
Icons are re-fetched from PRTS by the addresses in `prts-assets.json`; signatures are read from
|
|
243
|
+
`signatures/` — and the package carries its own copy under `assets/signatures/` so a clone can
|
|
244
|
+
build without this machine's working copy.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 版权与署名 / Rights and credit
|
|
249
|
+
|
|
250
|
+
**代码 MIT;美术素材不是。** 游戏美术版权归 **鹰角网络(Hypergryph / Studio Montagne)** 所有,
|
|
251
|
+
每一张插画仍归绘制它的画师本人所有;图标与签名同理。素材随包分发,**仅供个人在本地为自己的
|
|
252
|
+
界面使用**:请勿商用、请勿二次分发。若你是权利人并希望移除其中任何一项,请开 issue。
|
|
253
|
+
**The code is MIT; the artwork is not.** Game art belongs to **Hypergryph / Studio Montagne**, and
|
|
254
|
+
each illustration remains its illustrator's. The assets are bundled for **personal, local use
|
|
255
|
+
only** — not for commercial use, not for redistribution. Rights holders: open an issue and the
|
|
256
|
+
item will be removed.
|
|
257
|
+
|
|
258
|
+
**画师 / Illustrators:** 阿没MEInoss · soho · ぷらねっと · NUEE · 史里爬 · 最上-川 · Coomlee ·
|
|
259
|
+
momostima —— 整套图以合集形式提供,未给出逐张对应关系,因此按整组署名,不臆测分配。
|
|
260
|
+
The set arrived as a group without a file-by-file mapping, so the names are credited as a group
|
|
261
|
+
rather than spread across the twelve files as a guess.
|
|
262
|
+
|
|
263
|
+
细节见 / Details: [`ARTWORK-ATTRIBUTION.md`](./ARTWORK-ATTRIBUTION.md) ·
|
|
264
|
+
[`ICON-ATTRIBUTION.md`](./ICON-ATTRIBUTION.md)
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## 已知边界 / Known limits
|
|
269
|
+
|
|
270
|
+
- **皮肤的许多选择器锚在宿主 CSS 模块的类名尾部**(如 `[class$='_titleGroup']`)。
|
|
271
|
+
这些局部名不是公开契约:DSH 升级若改名,对应的装饰会**静默失效**(不会报错,只是不生效)。
|
|
272
|
+
Many selectors anchor on the tail of the host's CSS-module class names. Those local names are
|
|
273
|
+
not a public contract; if a DSH release renames one, that decoration stops applying — silently.
|
|
274
|
+
- 选择界面、设置界面、对话框只做**颜色、描边与圆角**,不改布局:那三处是宿主自己的版面。
|
|
275
|
+
The picker chrome, settings screen and dialogs are only re-coloured — their layout is the
|
|
276
|
+
host's own, and stays that way.
|
|
277
|
+
- 壁纸按宽屏与窄屏两种裁切生成;极端超宽比例下会以 `cover` 填充并依赖边缘虚化遮住裁切。
|
|
278
|
+
Two cuts are generated; at extreme aspect ratios the picture is `cover`-fitted and the edge
|
|
279
|
+
blur hides the crop.
|
|
280
|
+
- 本仓库的构建产物经过量化验收(对比度矩阵、资源完整性、结构检查),但**没有任何自动化测试
|
|
281
|
+
能代替肉眼**:配色是否好看,最终以你眼睛为准。
|
|
282
|
+
The build is verified quantitatively (contrast matrix, asset integrity, structural checks),
|
|
283
|
+
and none of that replaces looking at it.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|