Skip to content

feat(less-computer): 边缘发光改用 EdgeGlow 式四层模糊堆叠 + iridescent 配色#720

Open
appergb wants to merge 1 commit into
betafrom
feat/edge-glow-edgeglow-style
Open

feat(less-computer): 边缘发光改用 EdgeGlow 式四层模糊堆叠 + iridescent 配色#720
appergb wants to merge 1 commit into
betafrom
feat/edge-glow-edgeglow-style

Conversation

@appergb

@appergb appergb commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

User description

背景

Less Computer 的全屏彩虹边缘发光,原本是「两条都带模糊的软光带」(blur 1.1px + blur 4.5px),缺一条清晰的彩虹实线,配色也偏淡蓝粉。参考 EdgeGlow(MIT)的做法重做,使发光更有层次、更接近 Apple Intelligence 的霓虹描边。

改动(单文件:LessComputerGlow.tsx,纯视觉,仅 macOS)

移植 EdgeGlow 的「四层模糊堆叠」(原生 CAShapeLayer + 高斯模糊 → CSS「边框遮罩环 + filter:blur」等价复刻):

padding(线宽) blur 作用
.lcg-line 2.5px 0.5px 最细的彩虹实线(对应 EdgeGlow blur=0 那层,定义边缘)
.lcg-glow-1 5px 3px 内层亮边
.lcg-glow-2 11px 8px 中层光晕
.lcg-glow-3 20px 15px 最宽外晕,向屏内柔和散开
  • 配色移植 EdgeGlow 默认的 iridescent(紫→蓝→青→绿→金→橙→红→粉),12 段均匀铺满 360°。
  • 流光整圈 8s/圈通过 --lcg-angle 旋转(只动渐变角度不动元素形状,GPU 友好);光晕层各带不同周期呼吸;实线用 normal 保色准,光晕层用 mix-blend-mode: screen 叠加增亮。

保留项

  • issue [Windows] [bug] 语音输入不显示录音胶囊 #470 的「隐藏即卸载发光层(零 GPU)」逻辑原样保留,不回归。
  • pointer-events:noneprefers-reduced-motion 降级、--lcg-radius 圆角变量全部保留。
  • 后端 less-computer-glow:active 事件契约不变,无需改 Rust。

验证

  • tsc --noEmit 通过。
  • 用相同 CSS 做了独立预览页 + 无头 Chrome 截图,确认「锐利实线 + 多层光晕」的霓虹观感与 EdgeGlow 一致。

测试计划

  • 出测试版本号 dmg,触发 Less Computer 模式,确认真机上流光旋转 + 呼吸正常
  • 多屏 / 不同屏幕圆角下边缘贴合正常
  • 开启「减弱动态效果」时静止显示

PR Type

Enhancement


Description

  • 将边缘发光从两层改为四层模糊堆叠,移植 EdgeGlow 风格

  • 新增最内层锐利彩虹实线,定义清晰边缘

  • 外层三层光晕逐渐变宽、变虚,模拟霓虹灯管效果

  • 配色改为 iridescent 高饱和霓虹主题,沿环均匀铺开


Diagram Walkthrough

flowchart LR
  A["彩虹边缘发光层"] --> B["lcg-line (2.5px padding, blur 0.5px) - 实线"]
  A --> C["lcg-glow-1 (5px, blur 3px) - 内层亮边"]
  A --> D["lcg-glow-2 (11px, blur 8px) - 中层光晕"]
  A --> E["lcg-glow-3 (20px, blur 15px) - 外层晕散"]
  B -- "旋转动画 8s/圈" --> F["lcg-spin"]
  C -- "旋转 + 呼吸" --> F
  D -- "旋转 + 呼吸" --> F
  E -- "旋转 + 呼吸" --> F
Loading

File Walkthrough

Relevant files
Enhancement
LessComputerGlow.tsx
四层模糊堆叠 + iridescent 配色重写发光层                                                           

openless-all/app/src/pages/LessComputerGlow.tsx

  • 将发光层从两层(.lcg-edge, .lcg-flow)改为四层(.lcg-line, .lcg-glow-1, .lcg-glow-2,
    .lcg-glow-3)
  • 引入 iridescent 配色 conic-gradient,颜色沿环均匀铺满 360°
  • 调整动画:仅旋转动画统一 8s/圈,各层呼吸动画使用 CSS 变量控制不同周期
  • 保留隐藏时卸载发光层的 issue [Windows] [bug] 语音输入不显示录音胶囊 #470 逻辑及 pointer-events:none
+77/-57 

把 Less Computer 全屏彩虹边缘发光从原来「两条都带模糊的软光带」改成
EdgeGlow(github.com/vector4wang/EdgeGlow,MIT)的实现方式,让彩虹「实线」
更清晰、发光更有层次。

- 4 层模糊堆叠:最内一条 0.5px 锐利彩虹实线(对应 EdgeGlow blur=0 那层,
  定义边缘),外面叠 3 层逐渐变宽、变虚的光晕(blur 3/8/15px),得到
  霓虹灯管式发光。原生用 CAShapeLayer + 高斯模糊,这里用 CSS「边框遮罩环
  + filter:blur」等价复刻。
- 配色移植 EdgeGlow 默认的 iridescent(Apple Intelligence 高饱和霓虹:
  紫→蓝→青→绿→金→橙→红→粉),按 12 段均匀铺满 360°。
- 流光整圈 8s/圈通过 --lcg-angle 旋转(只动渐变角度不动元素形状,GPU 友好),
  光晕层各带不同周期呼吸;实线用 normal 保色准,光晕用 screen 叠加增亮。

保留 issue #470 的隐藏即卸载发光层(零 GPU)逻辑、pointer-events:none、
prefers-reduced-motion 降级与 --lcg-radius 圆角变量。纯视觉、仅 macOS、单文件。
@github-actions

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

470 - Partially compliant

Compliant requirements:

(empty)

Non-compliant requirements:

  • 修复 Windows 上语音输入时不显示录音胶囊(语音输入 UI 提示)的 Bug。
  • 确保在 Windows 10 环境中,语音输入时桌面出现视觉交互指引(语音胶囊)。

Requires further human verification:

(empty)

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ No major issues detected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant