plugin-gentleman 1.1.3 → 1.1.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/README.md CHANGED
@@ -98,7 +98,7 @@ The ASCII representation features:
98
98
  - **Eyes** that blink and look in 8 directions (center, up, down, left, right, and 4 diagonals) *(sidebar only)*
99
99
  - **Mustache** rendered in grayscale gradient on home screen, semantic zone colors in sidebar
100
100
  - **Tongue** that appears during busy states or periodic expressive cycles *(sidebar only)*
101
- - **Motivational phrases** in Rioplatense Spanish style — single random phrase rotating every 3s *(sidebar only)*
101
+ - **Motivational phrases** in Rioplatense Spanish style — one random phrase per expressive cycle *(sidebar only)*
102
102
 
103
103
  **Example phrases during busy states:**
104
104
  - *"Ponete las pilas, hermano..."*
@@ -126,7 +126,7 @@ The ASCII representation features:
126
126
  **Busy/Expressive State** *(when `animations: true`)*
127
127
  - Tongue appears when OpenCode is processing
128
128
  - Eyes squint during expressive state
129
- - Single motivational phrase rotating every 3 seconds (36+ phrase library)
129
+ - A single motivational phrase is chosen for each expressive cycle or busy state (36+ phrase library)
130
130
  - Active during detected busy states OR periodic expressive cycles
131
131
 
132
132
  **Expressive Cycle Fallback** *(when `animations: true`)*
@@ -407,7 +407,7 @@ All animation intervals are in `components.tsx`:
407
407
  - **Look-around interval:** Currently 3000ms (3s)
408
408
  - **Blink interval:** Currently 2000ms with 35% chance (~5-6s average)
409
409
  - **Blink frame timing:** Currently 80-100ms per frame progression
410
- - **Phrase rotation:** Currently 3000ms (3s) during expressive state
410
+ - **Phrase selection:** One random phrase per expressive cycle or busy state
411
411
  - **Expressive cycle timing:** First cycle at 30-45s, then every 45-60s
412
412
  - **Expressive cycle duration:** Currently 8000ms (8s)
413
413
 
package/ascii-frames.ts CHANGED
@@ -48,7 +48,7 @@ export const eyeNeutralRight = [
48
48
 
49
49
  export const eyeNeutralUpLeft = [
50
50
  " █████ █████ ", // 27 chars
51
- " ██ ░░██ ██░░░░░██ ", // 27 chars - hollow pupil up-left
51
+ " ██ ░░██ ███░░░░██ ", // 27 chars - hollow pupil up-left
52
52
  " ██ ░░░░██ ██░░░░░░░██ ", // 27 chars - hollow pupil up-left
53
53
  " ██░░░░░░░██ ██░░░░░░░██ ", // 27 chars
54
54
  "██ ██░░░░░██ ██░░░░░██ ██", // 27 chars
@@ -56,7 +56,7 @@ export const eyeNeutralUpLeft = [
56
56
 
57
57
  export const eyeNeutralUpRight = [
58
58
  " ██████ █████ ", // 27 chars
59
- " ██░░░ ██ ██░░░░░██ ", // 27 chars - hollow pupil up-right
59
+ " ██░░░ ██ ███░░░░██ ", // 27 chars - hollow pupil up-right
60
60
  " ██░░░░ ██ ██░░░░░░░██ ", // 27 chars - hollow pupil up-right
61
61
  " ██░░░░░░░██ ██░░░░░░░██ ", // 27 chars
62
62
  "██ ██░░░░░██ ██░░░░░██ ██", // 27 chars
package/components.tsx CHANGED
@@ -136,7 +136,7 @@ export const SidebarMustachi = (props: { theme: TuiThemeCurrent; config: Cfg; is
136
136
  }
137
137
  tongueTimeoutId = setTimeout(growTongue, 200)
138
138
 
139
- // Pick a random phrase and rotate through the library
139
+ // Pick a single random phrase for this expressive cycle/state
140
140
  const pickRandomPhrase = () => {
141
141
  const randomIndex = Math.floor(Math.random() * busyPhrases.length)
142
142
  return busyPhrases[randomIndex]
@@ -144,12 +144,7 @@ export const SidebarMustachi = (props: { theme: TuiThemeCurrent; config: Cfg; is
144
144
 
145
145
  setBusyPhrase(pickRandomPhrase())
146
146
 
147
- const interval = setInterval(() => {
148
- setBusyPhrase(pickRandomPhrase())
149
- }, 3000)
150
-
151
147
  onCleanup(() => {
152
- clearInterval(interval)
153
148
  if (tongueTimeoutId !== undefined) {
154
149
  clearTimeout(tongueTimeoutId)
155
150
  }
@@ -242,7 +237,7 @@ export const SidebarMustachi = (props: { theme: TuiThemeCurrent; config: Cfg; is
242
237
  return <text fg={color}>{paddedLine}</text>
243
238
  })}
244
239
 
245
- {/* Display single busy phrase if loading */}
240
+ {/* Display a single busy phrase for the current expressive cycle */}
246
241
  {busyPhrase() && (
247
242
  <text fg={props.theme.warning}>{busyPhrase()}</text>
248
243
  )}
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.3",
4
+ "version": "1.1.4",
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": {