@nbtca/prompt 1.0.3 → 1.0.4
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/dist/core/logo.d.ts.map +1 -1
- package/dist/core/logo.js +67 -14
- package/dist/core/logo.js.map +1 -1
- package/package.json +1 -1
- package/src/core/logo.ts +90 -14
- package/.claude/settings.local.json +0 -25
- package/Prompt.wiki/Home.md +0 -27
package/dist/core/logo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logo.d.ts","sourceRoot":"","sources":["../../src/core/logo.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"logo.d.ts","sourceRoot":"","sources":["../../src/core/logo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoIH;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAmC/C"}
|
package/dist/core/logo.js
CHANGED
|
@@ -21,25 +21,78 @@ function createBlueGradient(text) {
|
|
|
21
21
|
return blueGradient(text);
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* 将十六进制颜色转换为RGB
|
|
25
|
+
*/
|
|
26
|
+
function hexToRgb(hex) {
|
|
27
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
28
|
+
return result
|
|
29
|
+
? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)]
|
|
30
|
+
: [0, 0, 0];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 将RGB转换为十六进制颜色
|
|
34
|
+
*/
|
|
35
|
+
function rgbToHex(r, g, b) {
|
|
36
|
+
return '#' + [r, g, b].map(x => {
|
|
37
|
+
const hex = Math.round(x).toString(16);
|
|
38
|
+
return hex.length === 1 ? '0' + hex : hex;
|
|
39
|
+
}).join('');
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 在两个颜色之间进行线性插值
|
|
43
|
+
*/
|
|
44
|
+
function interpolateColor(color1, color2, factor) {
|
|
45
|
+
const [r1, g1, b1] = hexToRgb(color1);
|
|
46
|
+
const [r2, g2, b2] = hexToRgb(color2);
|
|
47
|
+
const r = r1 + (r2 - r1) * factor;
|
|
48
|
+
const g = g1 + (g2 - g1) * factor;
|
|
49
|
+
const b = b1 + (b2 - b1) * factor;
|
|
50
|
+
return rgbToHex(r, g, b);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 缓动函数 - 平滑的进出效果
|
|
54
|
+
*/
|
|
55
|
+
function easeInOutSine(t) {
|
|
56
|
+
return -(Math.cos(Math.PI * t) - 1) / 2;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 显示渐变动画效果(优化版 - 真正丝滑的动画)
|
|
25
60
|
*/
|
|
26
61
|
async function animateGradient(text, duration = 1200) {
|
|
27
|
-
const frames =
|
|
62
|
+
const frames = 60; // 60帧实现真正的流畅动画
|
|
28
63
|
const frameDelay = duration / frames;
|
|
29
|
-
//
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
64
|
+
// 定义颜色序列 - 形成完整的蓝色系循环
|
|
65
|
+
const colorSequence = [
|
|
66
|
+
'#1e3a8a', // 深蓝
|
|
67
|
+
'#2563eb', // 蓝
|
|
68
|
+
'#3b82f6', // 亮蓝
|
|
69
|
+
'#0ea5e9', // 天蓝
|
|
70
|
+
'#06b6d4', // 青色
|
|
71
|
+
'#14b8a6', // 青绿
|
|
72
|
+
'#06b6d4', // 青色
|
|
73
|
+
'#0ea5e9', // 天蓝
|
|
74
|
+
'#3b82f6', // 亮蓝
|
|
75
|
+
'#2563eb', // 蓝
|
|
76
|
+
'#1e3a8a', // 深蓝
|
|
39
77
|
];
|
|
40
78
|
for (let i = 0; i < frames; i++) {
|
|
41
|
-
|
|
42
|
-
const
|
|
79
|
+
// 使用平滑的正弦缓动
|
|
80
|
+
const progress = easeInOutSine(i / frames);
|
|
81
|
+
// 计算在颜色序列中的位置
|
|
82
|
+
const position = progress * (colorSequence.length - 1);
|
|
83
|
+
const index1 = Math.floor(position);
|
|
84
|
+
const index2 = Math.min(index1 + 1, colorSequence.length - 1);
|
|
85
|
+
const localProgress = position - index1;
|
|
86
|
+
// 在相邻颜色间插值,生成三个平滑过渡的颜色
|
|
87
|
+
const color1 = interpolateColor(colorSequence[index1], colorSequence[index2], localProgress);
|
|
88
|
+
const nextIndex1 = Math.min(index2, colorSequence.length - 1);
|
|
89
|
+
const nextIndex2 = Math.min(nextIndex1 + 1, colorSequence.length - 1);
|
|
90
|
+
const color2 = interpolateColor(colorSequence[nextIndex1], colorSequence[nextIndex2], localProgress);
|
|
91
|
+
const nextIndex3 = Math.min(nextIndex2, colorSequence.length - 1);
|
|
92
|
+
const nextIndex4 = Math.min(nextIndex3 + 1, colorSequence.length - 1);
|
|
93
|
+
const color3 = interpolateColor(colorSequence[nextIndex3], colorSequence[nextIndex4], localProgress);
|
|
94
|
+
// 为当前帧创建渐变
|
|
95
|
+
const frameGradient = gradient(color1, color2, color3);
|
|
43
96
|
// 清除当前行并显示新帧
|
|
44
97
|
process.stdout.write('\r' + frameGradient(text));
|
|
45
98
|
await new Promise(resolve => setTimeout(resolve, frameDelay));
|
package/dist/core/logo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/core/logo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,yBAAyB;IACzB,MAAM,YAAY,GAAG,QAAQ,CAAC;QAC5B,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,EAAK,KAAK;QACtC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,EAAG,KAAK;QACtC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAK,KAAK;KACvC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/core/logo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/core/logo.ts
CHANGED
|
@@ -25,27 +25,103 @@ function createBlueGradient(text: string): string {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* 将十六进制颜色转换为RGB
|
|
29
|
+
*/
|
|
30
|
+
function hexToRgb(hex: string): [number, number, number] {
|
|
31
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
32
|
+
return result
|
|
33
|
+
? [parseInt(result[1]!, 16), parseInt(result[2]!, 16), parseInt(result[3]!, 16)]
|
|
34
|
+
: [0, 0, 0];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 将RGB转换为十六进制颜色
|
|
39
|
+
*/
|
|
40
|
+
function rgbToHex(r: number, g: number, b: number): string {
|
|
41
|
+
return '#' + [r, g, b].map(x => {
|
|
42
|
+
const hex = Math.round(x).toString(16);
|
|
43
|
+
return hex.length === 1 ? '0' + hex : hex;
|
|
44
|
+
}).join('');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* 在两个颜色之间进行线性插值
|
|
49
|
+
*/
|
|
50
|
+
function interpolateColor(color1: string, color2: string, factor: number): string {
|
|
51
|
+
const [r1, g1, b1] = hexToRgb(color1);
|
|
52
|
+
const [r2, g2, b2] = hexToRgb(color2);
|
|
53
|
+
|
|
54
|
+
const r = r1 + (r2 - r1) * factor;
|
|
55
|
+
const g = g1 + (g2 - g1) * factor;
|
|
56
|
+
const b = b1 + (b2 - b1) * factor;
|
|
57
|
+
|
|
58
|
+
return rgbToHex(r, g, b);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 缓动函数 - 平滑的进出效果
|
|
63
|
+
*/
|
|
64
|
+
function easeInOutSine(t: number): number {
|
|
65
|
+
return -(Math.cos(Math.PI * t) - 1) / 2;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* 显示渐变动画效果(优化版 - 真正丝滑的动画)
|
|
29
70
|
*/
|
|
30
71
|
async function animateGradient(text: string, duration: number = 1200): Promise<void> {
|
|
31
|
-
const frames =
|
|
72
|
+
const frames = 60; // 60帧实现真正的流畅动画
|
|
32
73
|
const frameDelay = duration / frames;
|
|
33
74
|
|
|
34
|
-
//
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
75
|
+
// 定义颜色序列 - 形成完整的蓝色系循环
|
|
76
|
+
const colorSequence = [
|
|
77
|
+
'#1e3a8a', // 深蓝
|
|
78
|
+
'#2563eb', // 蓝
|
|
79
|
+
'#3b82f6', // 亮蓝
|
|
80
|
+
'#0ea5e9', // 天蓝
|
|
81
|
+
'#06b6d4', // 青色
|
|
82
|
+
'#14b8a6', // 青绿
|
|
83
|
+
'#06b6d4', // 青色
|
|
84
|
+
'#0ea5e9', // 天蓝
|
|
85
|
+
'#3b82f6', // 亮蓝
|
|
86
|
+
'#2563eb', // 蓝
|
|
87
|
+
'#1e3a8a', // 深蓝
|
|
44
88
|
];
|
|
45
89
|
|
|
46
90
|
for (let i = 0; i < frames; i++) {
|
|
47
|
-
|
|
48
|
-
const
|
|
91
|
+
// 使用平滑的正弦缓动
|
|
92
|
+
const progress = easeInOutSine(i / frames);
|
|
93
|
+
|
|
94
|
+
// 计算在颜色序列中的位置
|
|
95
|
+
const position = progress * (colorSequence.length - 1);
|
|
96
|
+
const index1 = Math.floor(position);
|
|
97
|
+
const index2 = Math.min(index1 + 1, colorSequence.length - 1);
|
|
98
|
+
const localProgress = position - index1;
|
|
99
|
+
|
|
100
|
+
// 在相邻颜色间插值,生成三个平滑过渡的颜色
|
|
101
|
+
const color1 = interpolateColor(
|
|
102
|
+
colorSequence[index1]!,
|
|
103
|
+
colorSequence[index2]!,
|
|
104
|
+
localProgress
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
const nextIndex1 = Math.min(index2, colorSequence.length - 1);
|
|
108
|
+
const nextIndex2 = Math.min(nextIndex1 + 1, colorSequence.length - 1);
|
|
109
|
+
const color2 = interpolateColor(
|
|
110
|
+
colorSequence[nextIndex1]!,
|
|
111
|
+
colorSequence[nextIndex2]!,
|
|
112
|
+
localProgress
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
const nextIndex3 = Math.min(nextIndex2, colorSequence.length - 1);
|
|
116
|
+
const nextIndex4 = Math.min(nextIndex3 + 1, colorSequence.length - 1);
|
|
117
|
+
const color3 = interpolateColor(
|
|
118
|
+
colorSequence[nextIndex3]!,
|
|
119
|
+
colorSequence[nextIndex4]!,
|
|
120
|
+
localProgress
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
// 为当前帧创建渐变
|
|
124
|
+
const frameGradient = gradient(color1, color2, color3);
|
|
49
125
|
|
|
50
126
|
// 清除当前行并显示新帧
|
|
51
127
|
process.stdout.write('\r' + frameGradient(text));
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": [
|
|
4
|
-
"Bash(gh pr create:*)",
|
|
5
|
-
"Bash(gh release:*)",
|
|
6
|
-
"Bash(npm whoami:*)",
|
|
7
|
-
"Bash(git fetch:*)",
|
|
8
|
-
"Bash(git pull:*)",
|
|
9
|
-
"Bash(Jump: g/G)",
|
|
10
|
-
"Bash(npm run build:*)",
|
|
11
|
-
"Bash(git add:*)",
|
|
12
|
-
"Bash(git commit -m \"$(cat <<''EOF''\nfix: correct version display in application\n\nPrevious commit bumped package.json to 1.0.2 but missed updating the version in the application code itself, causing the UI to still display 1.0.0.\nEOF\n)\")",
|
|
13
|
-
"Bash(git tag:*)",
|
|
14
|
-
"Bash(git push:*)",
|
|
15
|
-
"Bash(npm publish:*)",
|
|
16
|
-
"Bash(npm view:*)",
|
|
17
|
-
"Bash(npm unpublish:*)",
|
|
18
|
-
"Bash(npm config:*)",
|
|
19
|
-
"Bash(tee:*)",
|
|
20
|
-
"Bash(npm cache clean:*)"
|
|
21
|
-
],
|
|
22
|
-
"deny": [],
|
|
23
|
-
"ask": []
|
|
24
|
-
}
|
|
25
|
-
}
|
package/Prompt.wiki/Home.md
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
Prompt Wiki
|
|
2
|
-
|
|
3
|
-
## Memo
|
|
4
|
-
|
|
5
|
-
NBTCA support bunch of services since latest contribution from party members.
|
|
6
|
-
|
|
7
|
-
- Blog about active and skills
|
|
8
|
-
|
|
9
|
-
- NBTCA Calendar and notification
|
|
10
|
-
|
|
11
|
-
- Repair service
|
|
12
|
-
|
|
13
|
-
- Tech support
|
|
14
|
-
|
|
15
|
-
- Open source code of service support applications
|
|
16
|
-
|
|
17
|
-
- Docs of archive
|
|
18
|
-
|
|
19
|
-
- Minecraft server
|
|
20
|
-
|
|
21
|
-
Design purpose
|
|
22
|
-
|
|
23
|
-
- Build multi-independent tools and each tool focus one thing
|
|
24
|
-
|
|
25
|
-
- K.I.S.S. (keep it simple stupid)
|
|
26
|
-
|
|
27
|
-
- Gather tools to construct interactive service
|