dsh-background-by-model 0.8.2 → 0.9.1

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/CHANGELOG.md CHANGED
@@ -1,12 +1,25 @@
1
1
  # Changelog
2
2
 
3
- > The full release history lives here; the **Recent optimizations** section of [README.md](./README.md#recent-optimizations) lists only the two most recent releases (v0.8.2 / v0.8.1).
3
+ > The full release history lives here; the **Recent optimizations** section of [README.md](./README.md#recent-optimizations) lists only the two most recent releases (v0.9.1 / v0.9.0).
4
4
 
5
- ## v0.8.2
5
+ ## v0.9.1
6
+
7
+ - **The wallpaper layer's three sliders are one slider with a picker beside it** — opacity, brightness and blur share the row, the menu reads **Image opacity / Image brightness / Image blur**, and switching swaps the range, unit and written field together.
8
+ - **The picker uses the button fill and size, and the hint under the slider is gone.**
9
+
10
+ ## v0.9.0
6
11
 
7
- - **The dsh dependency floor moves to the host's own version (`>=0.2.1-alpha.2`)** — `engines.dsh`, the five `dsh-client-*` peers and `dsh-home-paths` still asked for the 0.1.7 generation while the harness in use is 0.2.1-alpha.2. Those five are the packages the host injects into the browser half, so the declaration is what says which generation this code was written against — with the old floor an install could pair it with the previous one. `dsh-invariants` cannot follow (npm has no 0.2.1-alpha.2 of it, and a 0.2.x host does not ship it), so it keeps `>=0.1.7-rc.2`; `@deepseek-ai/cordis` is untouched. The lockfile resolves the dsh family to 0.2.1-alpha.2, and `pnpm test` is ten checks, all green against it.
12
+ - **The RPC channel is a prefix route on `webServer`** — `connection.rpc.handle` registers through the connection service's own context, which cannot resolve `webServer`, so it throws and the entry never activates; the route keeps the same Host/Origin fence by asking `requestRejection` per request.
13
+ - **An exported theme downloads again** — its object URL is released on the next task rather than in the same tick, which some browsers treat as a cancellation.
14
+ - **Every recurring check shares one scheduler** — model poll, theme watchdog, holiday rollover and the two delayed restores, paused while the tab is hidden and stopped by one dispose.
15
+ - **The browser entry point is modules again** — skin, watchdogs, rotation, boot hydration, model state, auto-extraction, theme files and the nav icon each get a file, and `index.tsx` is wiring.
16
+ - **Comments say why the code is what it is**, not what it used to be; `schema.ts` records its version history as a table.
17
+ - **`check:watchdogs` is new** — one beat, per-entry due times, paused when hidden, nothing left after dispose, and no module arming an interval behind the scheduler.
18
+ - **A recommended profile written for an older schema imports again**, with defaults for the fields it predates; `check:scheme` compares the live manifest with `SCHEMA_VERSION`.
19
+ - **The dark-mode flag belongs to the host again** — `data-ds-dark-theme` is corrected only while it still holds the plugin's own value, and dropping the token sheet drops `data-dab-themed` with it.
20
+
21
+ ## v0.8.2
8
22
 
9
- ## v0.8.1
10
23
 
11
24
  - **The wallpaper layer gains a brightness slider, next to opacity and blur** — the two existing sliders could take a picture down and frost it, but nothing could lift one: an underexposed photo, a night shot or a dim monitor meant editing the file before it went in. The new **背景亮度 / Background brightness** slider sits between them (`0–200%`, `100%` untouched, double-click to reset) and belongs to the rule, exactly like the other two, so each model's wallpaper keeps its own exposure. A festival wallpaper's brightness is yours as well, like its opacity and framing; its slot, mode and colors stay the definition's.
12
25
  - **The two effects that share `filter` are composed in ONE place (a fix waiting to happen)** — brightness and blur are one CSS property, so a second assignment anywhere would have left whichever ran last and silently dropped the other. There is now a single `wpFilter()` that builds the string from the active rule (brightness first, blur second, and the neutral brightness left out so an untouched wallpaper keeps the empty `filter` it always had), and both the full apply and the live drag write through it. The old standalone `setWpBlur` helper had no callers and is now the parameterless `setWpFilter`.
package/CHANGELOG.zh.md CHANGED
@@ -1,6 +1,22 @@
1
1
  # 更新日志
2
2
 
3
- > 这里保留完整的历史记录;[README.zh.md](./README.zh.md#近期优化) 的「近期优化」一节只列最近两个版本(v0.8.2 / v0.8.1)。
3
+ > 这里保留完整的历史记录;[README.zh.md](./README.zh.md#近期优化) 的「近期优化」一节只列最近两个版本(v0.9.1 / v0.9.0)。
4
+
5
+ ## v0.9.1
6
+
7
+ - **壁纸层的三条滑块合并成一条,旁边用下拉框切换调节项** —— 透明度、亮度与模糊共用同一行,选项改叫「图片透明度 / 图片亮度 / 图片模糊」,切换时范围、单位与写回的字段一起换。
8
+ - **下拉框沿用按钮的底色与尺寸,滑块下方的说明文字删掉。**
9
+
10
+ ## v0.9.0
11
+
12
+ - **RPC 通道是 `webServer` 上的 prefix 路由** —— `connection.rpc.handle` 经 connection 服务自己的上下文注册,那里解析不到 `webServer`,于是抛错、条目根本不激活;路由仍按请求询问 `requestRejection`,Host/Origin 围墙不变。
13
+ - **导出的主题又能下载了** —— object URL 改为下一个任务释放,在同一 tick 里撤销会被部分浏览器当成取消。
14
+ - **所有周期性检查共用一条调度器** —— 模型轮询、主题看守、节日换日与两次延迟恢复,标签页隐藏时暂停,一个 dispose 全停。
15
+ - **浏览器半边重新拆成模块** —— 皮肤、看守、轮换、启动水合、模型状态、自动取色、主题文件与导航图标各自成文件,`index.tsx` 只剩接线。
16
+ - **注释只讲代码为什么是现在这样**,不讲它曾经是什么样;`schema.ts` 的版本史改为一张表。
17
+ - **新增 `check:watchdogs`** —— 一条心跳、按各自到期时间触发、隐藏即暂停、dispose 不留定时器,且入口之外没有模块自己起 interval。
18
+ - **旧 schema 的推荐配置又能导入了** —— 缺的字段取默认值;`check:scheme` 把线上清单与 `SCHEMA_VERSION` 比对。
19
+ - **深色标记交还宿主** —— `data-ds-dark-theme` 只在该值仍是插件写的那份时才被改写,清掉 token 表的同时也清掉 `data-dab-themed`。
4
20
 
5
21
  ## v0.8.2
6
22
 
package/README.md CHANGED
@@ -116,7 +116,7 @@ One switch on the Config page and nothing else: on 中秋节 and 国庆节 the w
116
116
  - **Theme color** — HSL wheel, numeric input, **Extract from this image** and an eyedropper. It belongs to the **image**, and an image with none follows the system theme rather than inheriting its rule's.
117
117
  - **Layout mode** — fit / fill / stretch / tile / center, stored per image; disabled on a rule that holds no picture, rather than hidden.
118
118
  - **Framing** — drag to pan and scroll to zoom, editable in fit mode only, stored per image and stable across window resizes.
119
- - **Background opacity** `0–100%`, **background brightness** `0–200%` (`100%` is the picture as saved) and **background blur** `0–60 px`, all three per rule. They treat the wallpaper layer only — the Interface tab's opacity treats interface surfaces.
119
+ - **Image opacity** `0–100%`, **image brightness** `0–200%` (`100%` is the picture as saved) and **image blur** `0–60 px`, all three per rule and edited through **one slider with a menu beside it** that picks the effect. They treat the image (wallpaper) layer only — the Interface tab's opacity treats interface surfaces.
120
120
 
121
121
  ### Global settings (Interface tab)
122
122
 
@@ -270,20 +270,18 @@ The effect is **Instant**, or the duration is `0` — an effect and a duration a
270
270
 
271
271
  > Only the two most recent releases are listed here; older ones live in [CHANGELOG.md](./CHANGELOG.md).
272
272
 
273
- ### v0.8.2
273
+ ### v0.9.1
274
274
 
275
- - **The dsh dependency floor follows the host** — `engines.dsh`, the five `dsh-client-*` peers and `dsh-home-paths` now declare `>=0.2.1-alpha.2` instead of the 0.1.7 generation, so an install cannot be paired with the previous client packages. `dsh-invariants` and `@deepseek-ai/cordis` stay as they are, each for its own reason.
275
+ - **The three wallpaper sliders are now one slider plus a picker** — the options read Image opacity / Image brightness / Image blur, the picker matches the buttons, and the hint below is gone.
276
276
 
277
- ### v0.8.1
277
+ ### v0.9.0
278
278
 
279
- - **The wallpaper layer has a brightness slider now**, between opacity and blur (`0–200%`, `100%` untouched, double-click to reset), stored per rule like the other two. They could dim a picture and frost it; nothing could lift an underexposed one.
280
- - **Brightness and blur share one `filter`, composed in a single function** — a second assignment would have silently dropped one of them. Both the full apply and the live drag write through it.
281
- - **Every page the centre column shows is one row now (插件页面)**, opacity only: 插件, 自动化任务 and any page a plugin registers of its own are located by the slot they mount in rather than by name, so a page that does not exist yet is already covered. It ships at zero, where the plugin writes nothing at all.
282
- - **The interface parts are found by name instead of by position** — the frame grew rows after the overlay, and "the three children before it" had quietly become the wrong columns, so the part sliders were writing where nobody looks.
283
- - **The Interface tab's blur sliders are gone, and so is the capability behind them** — what they frosted was the wallpaper behind a column (the wallpaper layer's own blur already does that, per rule) or a backdrop nobody reads once a panel is translucent. The tab is opacity only now.
279
+ - **The RPC channel is the plugin's own prefix route on `webServer`**, so envelope, body cap and the auth fence stay here and `requestRejection` is asked per request.
280
+ - **One scheduler for every recurring check** — model poll, theme watchdog, holiday rollover and the delayed restores share a clock, pause while the tab is hidden, and stop with one dispose.
281
+ - **The browser entry point is wiring again** — skin, watchdogs, rotation, boot, model state, extraction and theme files are their own modules.
282
+ - **Exporting a theme no longer cancels its own download**, and comments say why the code is what it is rather than what it used to be.
284
283
 
285
284
  ## Star History
286
-
287
285
  [![Star History Chart](https://api.star-history.com/chart?repos=HarmlessFunny/dsh-background-by-model&type=timeline&legend=bottom-right)](https://www.star-history.com/?repos=HarmlessFunny%2Fdsh-background-by-model&type=timeline&legend=bottom-right)
288
286
 
289
287
  ## License
package/README.zh.md CHANGED
@@ -116,7 +116,7 @@
116
116
  - **主题色** —— HSL 色轮、数值输入、**从本图提取**与吸管。它属于**图片**,没有自己颜色的图跟随系统主题,而不是继承规则色。
117
117
  - **布局模式** —— 适应 / 填充 / 拉伸 / 平铺 / 居中,逐图保存;规则没有图片时这排是禁用而不是隐藏。
118
118
  - **取景** —— 拖动平移、滚轮缩放,只在适应模式下可编辑,逐图保存,窗口缩放后保持一致。
119
- - **背景透明度** `0–100%`、**背景亮度** `0–200%`(`100%` 即原图)与**背景模糊** `0–60 px`,三者都按规则。它们只作用于壁纸层;「界面」页的透明度作用于界面各区域。
119
+ - **图片透明度** `0–100%`、**图片亮度** `0–200%`(`100%` 即原图)与**图片模糊** `0–60 px`,三者都按规则,并通过**同一条滑块 + 旁边的下拉框**切换调节项。它们只作用于图片层;「界面」页的透明度作用于界面各区域。
120
120
 
121
121
  ### 全局设置(「界面」页)
122
122
 
@@ -270,17 +270,16 @@ pnpm test # 构建 lib/、类型检查、跑十道检查
270
270
 
271
271
  > 这里只列最近两个版本;更早的版本见 [CHANGELOG.zh.md](./CHANGELOG.zh.md)。
272
272
 
273
- ### v0.8.2
273
+ ### v0.9.1
274
274
 
275
- - **dsh 依赖下界跟着宿主走** —— `engines.dsh`、5 个 `dsh-client-*` peer 与 `dsh-home-paths` 从 0.1.7 那一代改成声明 `>=0.2.1-alpha.2`,装出来的插件不会再被配上上一代客户端包。`dsh-invariants` 与 `@deepseek-ai/cordis` 各有理由,保持不动。
275
+ - **三条壁纸滑块合并成一条,旁边用下拉框切换** —— 选项改叫图片透明度 / 图片亮度 / 图片模糊,下拉框与按钮同色,滑块下的说明文字删掉。
276
276
 
277
- ### v0.8.1
277
+ ### v0.9.0
278
278
 
279
- - **壁纸层多了亮度滑块**,夹在透明度与模糊之间(`0–200%`,`100%` 即原图,双击复位),和另外两条一样按规则保存。它们能把画面压暗、能起雾,却没有任何东西能把一张曝光不足的图提亮。
280
- - **亮度与模糊共用一个 `filter`,只在唯一的函数里合成** —— 第二处赋值会让其中一个被静默丢掉,所以完整应用与拖动时的实时更新都走同一个函数。
281
- - **主区里的每一个整页现在是一行(插件页面)**,只做透明度:插件、自动化任务,以及任何插件自己注册的页,都按它挂载的槽来认而不是按名字,所以一个还不存在的页也已经被覆盖。它出厂就是 0,此时插件什么都不写。
282
- - **界面各分区按名字找,不按位置找** —— 框架在覆盖层之后又长出了行,「覆盖层之前的那三个子元素」悄悄变成了错的列,分区滑块一直在往没人看的地方写。
283
- - **「界面」页的模糊度滑块删掉了,连同它们底下那套能力** —— 被雾住的那一列,磨的其实是它背后的壁纸(这件事壁纸层自己的模糊早就按规则在做);被雾住的面板,雾的是一块一旦半透明就没人再看的底色。这一页现在只剩透明度。
279
+ - **RPC 通道是插件自己在 `webServer` 上的 prefix 路由** —— envelope、请求上限与鉴权围墙留在插件这侧,每个请求都询问 `requestRejection`。
280
+ - **所有周期性检查合并成一个调度器** —— 模型轮询、主题看守、节日换日与延迟恢复共用一条时钟,标签页隐藏时暂停,一个 dispose 全停。
281
+ - **浏览器半边入口只剩接线** —— 皮肤、看守、轮换、启动、模型状态、取色与主题文件各自成模块。
282
+ - **导出主题不再取消自己的下载**,注释也只讲代码为什么是现在这样、不讲它曾经是什么样。
284
283
 
285
284
  ## Star History
286
285