plugin-gentleman 1.1.1 → 1.1.2
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/ascii-frames.ts +16 -16
- package/components.tsx +8 -6
- package/package.json +1 -1
package/ascii-frames.ts
CHANGED
|
@@ -16,8 +16,8 @@ export const eyeNeutralCenter = [
|
|
|
16
16
|
|
|
17
17
|
export const eyeNeutralUp = [
|
|
18
18
|
" █████ █████ ", // 27 chars
|
|
19
|
-
"
|
|
20
|
-
"
|
|
19
|
+
" ██░ ░██ ██░░░░░██ ", // 27 chars - hollow pupil up
|
|
20
|
+
" ██░░ ░░██ ██░░░░░░░██ ", // 27 chars - hollow pupil up
|
|
21
21
|
" ██░░░░░░░██ ██░░░░░░░██ ", // 27 chars
|
|
22
22
|
"██ ██░░░░░██ ██░░░░░██ ██", // 27 chars
|
|
23
23
|
]
|
|
@@ -27,7 +27,7 @@ export const eyeNeutralDown = [
|
|
|
27
27
|
" ██░░░░░██ ██░░░░░██ ", // 27 chars
|
|
28
28
|
" ██░░░░░░░██ ██░░░░░░░██ ", // 27 chars
|
|
29
29
|
" ██░░ ░░██ ██░░░░░░░██ ", // 27 chars - hollow pupil down
|
|
30
|
-
"██
|
|
30
|
+
"██ ██░ ░██ ██░░░░░██ ██", // 27 chars - hollow pupil down
|
|
31
31
|
]
|
|
32
32
|
|
|
33
33
|
export const eyeNeutralLeft = [
|
|
@@ -48,16 +48,16 @@ export const eyeNeutralRight = [
|
|
|
48
48
|
|
|
49
49
|
export const eyeNeutralUpLeft = [
|
|
50
50
|
" █████ █████ ", // 27 chars
|
|
51
|
-
" ██
|
|
52
|
-
" ██
|
|
51
|
+
" ██ ░░██ ██░░░░░██ ", // 27 chars - hollow pupil up-left
|
|
52
|
+
" ██ ░░░░██ ██░░░░░░░██ ", // 27 chars - hollow pupil up-left
|
|
53
53
|
" ██░░░░░░░██ ██░░░░░░░██ ", // 27 chars
|
|
54
54
|
"██ ██░░░░░██ ██░░░░░██ ██", // 27 chars
|
|
55
55
|
]
|
|
56
56
|
|
|
57
57
|
export const eyeNeutralUpRight = [
|
|
58
|
-
" █████
|
|
59
|
-
"
|
|
60
|
-
"
|
|
58
|
+
" ██████ █████ ", // 27 chars
|
|
59
|
+
" ██░░░ ██ ██░░░░░██ ", // 27 chars - hollow pupil up-right
|
|
60
|
+
" ██░░░░ ██ ██░░░░░░░██ ", // 27 chars - hollow pupil up-right
|
|
61
61
|
" ██░░░░░░░██ ██░░░░░░░██ ", // 27 chars
|
|
62
62
|
"██ ██░░░░░██ ██░░░░░██ ██", // 27 chars
|
|
63
63
|
]
|
|
@@ -66,16 +66,16 @@ export const eyeNeutralDownLeft = [
|
|
|
66
66
|
" █████ █████ ", // 27 chars
|
|
67
67
|
" ██░░░░░██ ██░░░░░██ ", // 27 chars
|
|
68
68
|
" ██░░░░░░░██ ██░░░░░░░██ ", // 27 chars
|
|
69
|
-
" ██
|
|
70
|
-
"██ ██
|
|
69
|
+
" ██ ░░░░██ ██░░░░░░░██ ", // 27 chars - hollow pupil down-left
|
|
70
|
+
"██ ██ ░░░██ ██░░░░░██ ██", // 27 chars - hollow pupil down-left
|
|
71
71
|
]
|
|
72
72
|
|
|
73
73
|
export const eyeNeutralDownRight = [
|
|
74
74
|
" █████ █████ ", // 27 chars
|
|
75
75
|
" ██░░░░░██ ██░░░░░██ ", // 27 chars
|
|
76
76
|
" ██░░░░░░░██ ██░░░░░░░██ ", // 27 chars
|
|
77
|
-
"
|
|
78
|
-
"██
|
|
77
|
+
" ██░░░░ ██ ██░░░░░░░██ ", // 27 chars - hollow pupil down-right
|
|
78
|
+
"██ ██░░░ ██ ██░░░░░██ ██", // 27 chars - hollow pupil down-right
|
|
79
79
|
]
|
|
80
80
|
|
|
81
81
|
// Squinted eyes version for busy/expressive state
|
|
@@ -107,17 +107,17 @@ export const eyeBlinkClosed = [
|
|
|
107
107
|
|
|
108
108
|
// Mustache section (all lines padded to 27 chars for alignment)
|
|
109
109
|
export const mustachiMustacheSection = [
|
|
110
|
-
"███████████ ███████████", // 27 chars - perfectly symmetric
|
|
111
110
|
"████████████ ████████████", // 27 chars - perfectly symmetric
|
|
111
|
+
"█████████████ █████████████", // 27 chars - perfectly symmetric
|
|
112
112
|
" █████████████████████████ ", // 27 chars - perfectly symmetric
|
|
113
|
-
"
|
|
114
|
-
"
|
|
113
|
+
" ▓█████████ █████████▓ ", // 27 chars - perfectly symmetric
|
|
114
|
+
" ▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓ ", // 27 chars - perfectly symmetric
|
|
115
115
|
]
|
|
116
116
|
|
|
117
117
|
// Tongue animation frames (progressive) - compact design
|
|
118
118
|
export const tongueFrames = [
|
|
119
119
|
[], // no tongue
|
|
120
|
-
["
|
|
120
|
+
[" ███", " █"], // tongue out
|
|
121
121
|
]
|
|
122
122
|
|
|
123
123
|
// Mustache-only ASCII art for home logo (original massive solid block design)
|
package/components.tsx
CHANGED
|
@@ -74,7 +74,7 @@ export const SidebarMustachi = (props: { theme: TuiThemeCurrent; config: Cfg; is
|
|
|
74
74
|
const randomDir = 1 + Math.floor(Math.random() * (pupilPositionFrames.length - 1))
|
|
75
75
|
setPupilIndex(randomDir)
|
|
76
76
|
}
|
|
77
|
-
}, 3000)
|
|
77
|
+
}, 800) // TEST MODE: faster for demo (was 3000)
|
|
78
78
|
|
|
79
79
|
onCleanup(() => clearInterval(interval))
|
|
80
80
|
})
|
|
@@ -99,10 +99,11 @@ export const SidebarMustachi = (props: { theme: TuiThemeCurrent; config: Cfg; is
|
|
|
99
99
|
const interval = setInterval(() => {
|
|
100
100
|
// Blink more frequently to feel alive (~every 5-6 seconds)
|
|
101
101
|
// 35% chance every 2s = average 5.7s between blinks
|
|
102
|
-
|
|
102
|
+
// TEST MODE: 60% chance every 800ms = blink ~every 1.3s for demo
|
|
103
|
+
if (Math.random() < 0.6) {
|
|
103
104
|
blinkSequence()
|
|
104
105
|
}
|
|
105
|
-
}, 2000)
|
|
106
|
+
}, 800) // TEST MODE: faster for demo (was 2000)
|
|
106
107
|
|
|
107
108
|
onCleanup(() => clearInterval(interval))
|
|
108
109
|
})
|
|
@@ -172,13 +173,14 @@ export const SidebarMustachi = (props: { theme: TuiThemeCurrent; config: Cfg; is
|
|
|
172
173
|
}, 8000)
|
|
173
174
|
}
|
|
174
175
|
|
|
175
|
-
// First cycle after
|
|
176
|
-
|
|
176
|
+
// TEST MODE: First cycle after 5-8s, then every 12-15s for demo
|
|
177
|
+
// (Production: first after 30-45s, then every 45-60s)
|
|
178
|
+
const firstDelay = 5000 + Math.random() * 3000
|
|
177
179
|
const firstTimeout = setTimeout(triggerExpressiveCycle, firstDelay)
|
|
178
180
|
|
|
179
181
|
const interval = setInterval(() => {
|
|
180
182
|
triggerExpressiveCycle()
|
|
181
|
-
},
|
|
183
|
+
}, 12000 + Math.random() * 3000)
|
|
182
184
|
|
|
183
185
|
onCleanup(() => {
|
|
184
186
|
clearTimeout(firstTimeout)
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "plugin-gentleman",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.2",
|
|
5
5
|
"description": "OpenCode TUI plugin featuring Mustachi - an animated ASCII mascot with eyes, mustache, and optional motivational phrases during busy states",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|