@lokiyou/pi-nano-footer 0.6.0 → 0.7.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.
Files changed (2) hide show
  1. package/index.ts +9 -11
  2. package/package.json +1 -1
package/index.ts CHANGED
@@ -81,17 +81,15 @@ Editor.prototype.render = function (width: number): string[] {
81
81
  const rgb = extractRGB(saved);
82
82
  if (rgb) {
83
83
  const [r, g, b] = rgb;
84
- // 荧光呼吸:
85
- // - 暗处降到 12% 亮度(像灯熄了)
86
- // - 亮处叠加白色辉光(像荧光灯通电)
87
- // - t² 曲线让过渡更锐利,停留暗/亮两端更久
88
- // 周期 ~1s 一次完整呼吸
89
- const t = 0.5 + 0.5 * Math.sin(performance.now() / 350);
90
- const base = 0.12 + 0.88 * t; // 12%~100% 明暗
91
- const glow = Math.min(1, t * 1.4); // 0~1 白色 blending,峰值更亮
92
- const nr = Math.round(Math.min(255, r * base + (255 - r) * glow * 0.35));
93
- const ng = Math.round(Math.min(255, g * base + (255 - g) * glow * 0.35));
94
- const nb = Math.round(Math.min(255, b * base + (255 - b) * glow * 0.35));
84
+ // 呼吸发光:纯 sin 曲线,无 clamping,像自然呼吸
85
+ // - 暗处 ~18% 亮度,亮处 100% + 白色辉光
86
+ // 周期 ~900ms(接近自然呼吸节奏)
87
+ const t = 0.5 + 0.5 * Math.sin(performance.now() / 450);
88
+ const bright = 0.18 + 0.82 * t; // 18%~100%
89
+ const glow = t * 0.4; // 0~0.4 白色 blend,无 clamping
90
+ const nr = Math.round(Math.min(255, r * bright + (255 - r) * glow));
91
+ const ng = Math.round(Math.min(255, g * bright + (255 - g) * glow));
92
+ const nb = Math.round(Math.min(255, b * bright + (255 - b) * glow));
95
93
  this.borderColor = (str: string) =>
96
94
  `\x1b[38;2;${nr};${ng};${nb}m${str}\x1b[0m`;
97
95
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokiyou/pi-nano-footer",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "超轻量 powerline 风格 footer for Pi Coding Agent — 输入框脉冲发光,霓虹配色,实时显示模型、目录、上下文、token 和费用",
5
5
  "type": "module",
6
6
  "keywords": [