dark-mechanicus-indicator: slow cadence to 1s pulse / 10s quote dwell
Before: 100ms/frame × 20 frames = 400ms pulse, 2s quote dwell. After: 250ms/frame × 40 frames = 1s pulse, 10s quote dwell. Pulse still cycles dim → normal → bright → normal (4 shades) but each shade now holds for 250ms, making the pulse slower and the glyph more legible. Quotes now stay long enough to read comfortably. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,11 +3,10 @@
|
||||
* pulsing ⚙ cog + a rotating dark-mechanicum quote.
|
||||
*
|
||||
* Mechanics:
|
||||
* - Pulse: 4-frame shade cycle (dim → normal → bright → normal) at 100ms
|
||||
* per frame → ~400ms heartbeat. The ⚙ glyph never moves; its color
|
||||
* pulses instead.
|
||||
* - Pulse: 4-frame shade cycle (dim → normal → bright → normal) at 250ms
|
||||
* per frame → 1s heartbeat. The ⚙ glyph never moves; its color pulses.
|
||||
* - Quote: 45 lines (15 pious / 15 dark / 15 operational). Each quote
|
||||
* dwells for 5 pulse cycles (20 frames = 2s) before switching.
|
||||
* dwells for 10 pulse cycles (40 frames = 10s) before switching.
|
||||
* - Order: shuffled on every session_start AND turn_start, so each new
|
||||
* assistant response draws from a fresh random order.
|
||||
*
|
||||
@@ -97,8 +96,10 @@ const RESET_FG = "\x1b[39m";
|
||||
|
||||
const PULSE_SHADES = [GOLD_DIM, GOLD_NORMAL, GOLD_BRIGHT, GOLD_NORMAL];
|
||||
|
||||
const COG_FRAMES_PER_QUOTE = 20; // 2s dwell at 100ms/frame
|
||||
const FRAME_INTERVAL_MS = 100;
|
||||
// Interval 250ms × 4 pulse shades = 1s per complete pulse cycle.
|
||||
// 40 frames × 250ms = 10s dwell per quote before it switches.
|
||||
const FRAME_INTERVAL_MS = 250;
|
||||
const COG_FRAMES_PER_QUOTE = 40;
|
||||
|
||||
function cogFrame(pulseIdx: number): string {
|
||||
return `${PULSE_SHADES[pulseIdx]!}${COG}${RESET_FG}`;
|
||||
|
||||
Reference in New Issue
Block a user