Skip to content

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 11:40
· 45 commits to main since this release
774159a

nosDshell v1.7.0

这一版把全部动效换成了一套有出处的设计语言:所有时长收进五档令牌、所有曲线取自一张
CDS 曲线表——弹出层从锚点长出、带一点回弹,按钮按下微缩、松手弹回,通知和 OSD 沿屏
幕边滑入滑出,行类元素的指针态依旧瞬变;切主题时全部颜色做一次交叉淡化,关掉动画或
进入性能模式时这一切同时归零。配套地,弹出层、菜单、对话框的阴影重画成轮廓外侧的双
层投影,深色弹出层上沿多了一道 1 px 高光,滚动区边缘的内容不再被色块盖住,而是沿曲
线溶进背景;键盘操作也终于有了焦点环。

顺手修掉一批"看不见的拦截者":会话菜单关掉后不再以一块透明全屏表面继续吃掉点击和按
键,滚动区边缘层不再在重建瞬间吞掉偶发的按下,通知超时退场也有了自己的动画而不是瞬
灭。验证侧新添了逐帧拍动效曲线的取证工具,和一套 Nix 测试环境,云端容器里也能跑完整
的校验。


新功能

  • debug findAll, and hit-tests that see through wheel layers:79a47960a
  • top-edge highlight on dark popups:28b7408d6
  • non-linear CDS edge fade as an alpha mask:c46f19be3
  • NFocusRing for keyboard focus; notification cards use it:b64bc6fcc
  • theme crossfade on motionTheme with the swift curve:5583af7d7
  • finish the migration; every loop honours reduced motion:6f299f7d2
  • control-centre page pushes on motionPage:87c3c597d
  • app strips, workspaces and bar pills on §1.7 tokens:3bc5075eb
  • NPressScale press squish on button-class controls:64d9c533c
  • data, reorder and focus colours on tokens; gate loops:b975d9d5a
  • scroll views on §1.7 curves; reduced motion covers them:3253aa324
  • switch, collapsible and page transitions on §1.7 curves:fc62a2412
  • full-screen surfaces on the §1.7 tokens:853fc8ecd
  • CDS enter/exit on the OSD tile:dddd54dae
  • bubble recipe for enter and exit; animate dismissal:2acd04b3f
  • CDS enter/exit for bubbles and the history list:b89f459fb
  • popover motion and room for the shadow:d06fe10c1
  • move panels, dimmer and bar slide onto the §1.7 tokens:072756b21
  • draw shadows outside the silhouette only, in two CDS layers:31b6af3be
  • grow popups out of their anchor on the CDS popover recipe:7b7a71caa
  • add NAnim/NColorAnim motion primitives:2129bf309

修复

  • let the anchor group through the missing-property check:8c40184d3
  • run the section editor's drop pulse from a binding:2410d6bfb
  • unmap the session menu once its close fade is over:15b2c2369
  • keep a resident virtual pointer so injected clicks are not lost:2e6690e7f
  • hand the bundled launcher icon over as a file URL:05b561c6e
  • size the section editor title from the editor, not its row:27bc89629
  • reserve the scrollbar column one turn after overflow changes:26c583fb7
  • declare the tab-ready Connections target as null:e960b97e5
  • give the module scroll an explicit content size:e10743751
  • draw the top highlight with rectangles, not Shape strokes:e5f87b4ca
  • draw the focus ring only for keyboard selection:51133a04e
  • send the pointer motion before every click, not only held ones:c3a960203
  • keep the edge-fade layer stable so clicks are not lost:513d8b6ba
  • deliver the press of a held click:8d71d27bc
  • let dismissOldest play the bubble exit:9dd791c73
  • give popup menu windows room for their shadow:f1c902ff8
  • keep fitted curves under the QEasingCurve 11-segment crash:ff72a76b3
  • repair debug-smoke assertions that drifted from the debug IPC:69a2f5d90
  • replace the // comment that broke flake evaluation:2aeb9c76b

观感

  • run qmlformat over DebugService:e2b017ed8
  • add CDS duration tiers, curve tokens and reduceMotion:c50f30a24

重构

  • converge tabular numerals on NText.numeric:e9a854140

性能

  • fade arrow-popup backgrounds by item opacity, not path colour:a64a6da65

文档

  • how to tell a lost press from a QML bug; known issue:4332151e8
  • record the arrow-panel scale exception and the spline cap:163605412
  • adopt the CDS motion language and surface finish:232877667

验证

  • read settings-tree's contentY directly, not from a tree dump:688682864
  • move item_centre next to the other scene helpers:d05a17198
  • make cc-switch find its switch by objectName and assert it:260cf95b0
  • run lockscreen last in the default scene set as well:742a3ebea
  • select the Papirus icon theme in isolated sessions:362905c30
  • say so when edge-fade has no scrollable page to test:988a1ca47
  • park edge-fade at the middle of the scroll range:b88bb5ee6
  • make cc-notif-groups run all four steps and assert them:18ec80ef4
  • add an edge-fade scene that asserts the fade widths:b9c5a03df
  • add cc-notif-focus for the keyboard focus ring:8bfa0ddea
  • let a burst skip the still-screen wait:cf0166dcb
  • add a motion-tooltip scene:8585a0ab3
  • assert the menu shadow margin is click-through; fix VINPUT clash:e80f38d62
  • fail runs on config load failures and crashes; add motion-panel:68b3b85d6
  • wait for lazily painted layers before the first burst:c3ecb0047
  • let qmlfmt.sh fall back to the nix test environment:2a9c64a85
  • add frame-burst motion capture with filmstrips and curves:fa5d0caf8
  • add a nix package backend to the test and lint harness:893922430

工程

  • replace check-color-motion with check-motion:53b28d388
  • catch unknown property assignments and lint a type's users:1a9f0eded