@kya-os/cli 0.1.0-beta.1 → 0.1.0-beta.10
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 +210 -34
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +73 -57
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/claim.js +33 -39
- package/dist/commands/claim.js.map +1 -1
- package/dist/commands/cli-experience-demo-simple.d.ts +14 -0
- package/dist/commands/cli-experience-demo-simple.d.ts.map +1 -0
- package/dist/commands/cli-experience-demo-simple.js +119 -0
- package/dist/commands/cli-experience-demo-simple.js.map +1 -0
- package/dist/commands/cli-experience-demo.d.ts +14 -0
- package/dist/commands/cli-experience-demo.d.ts.map +1 -0
- package/dist/commands/cli-experience-demo.js +172 -0
- package/dist/commands/cli-experience-demo.js.map +1 -0
- package/dist/commands/effects-demo.d.ts +10 -0
- package/dist/commands/effects-demo.d.ts.map +1 -0
- package/dist/commands/effects-demo.js +292 -0
- package/dist/commands/effects-demo.js.map +1 -0
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +55 -51
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +527 -102
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/rotate.d.ts.map +1 -1
- package/dist/commands/rotate.js +81 -60
- package/dist/commands/rotate.js.map +1 -1
- package/dist/dev.d.ts +7 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +9 -0
- package/dist/dev.js.map +1 -0
- package/dist/effects/__tests__/effects.test.d.ts +5 -0
- package/dist/effects/__tests__/effects.test.d.ts.map +1 -0
- package/dist/effects/__tests__/effects.test.js +206 -0
- package/dist/effects/__tests__/effects.test.js.map +1 -0
- package/dist/effects/animation-engine.d.ts +173 -0
- package/dist/effects/animation-engine.d.ts.map +1 -0
- package/dist/effects/animation-engine.js +254 -0
- package/dist/effects/animation-engine.js.map +1 -0
- package/dist/effects/cli-integration.d.ts +86 -0
- package/dist/effects/cli-integration.d.ts.map +1 -0
- package/dist/effects/cli-integration.js +309 -0
- package/dist/effects/cli-integration.js.map +1 -0
- package/dist/effects/config.d.ts +95 -0
- package/dist/effects/config.d.ts.map +1 -0
- package/dist/effects/config.js +216 -0
- package/dist/effects/config.js.map +1 -0
- package/dist/effects/effect-runner.d.ts +69 -0
- package/dist/effects/effect-runner.d.ts.map +1 -0
- package/dist/effects/effect-runner.js +255 -0
- package/dist/effects/effect-runner.js.map +1 -0
- package/dist/effects/gradient.d.ts +131 -0
- package/dist/effects/gradient.d.ts.map +1 -0
- package/dist/effects/gradient.js +236 -0
- package/dist/effects/gradient.js.map +1 -0
- package/dist/effects/implementations/beams.d.ts +80 -0
- package/dist/effects/implementations/beams.d.ts.map +1 -0
- package/dist/effects/implementations/beams.js +221 -0
- package/dist/effects/implementations/beams.js.map +1 -0
- package/dist/effects/implementations/binary-path.d.ts +88 -0
- package/dist/effects/implementations/binary-path.d.ts.map +1 -0
- package/dist/effects/implementations/binary-path.js +296 -0
- package/dist/effects/implementations/binary-path.js.map +1 -0
- package/dist/effects/implementations/blackhole.d.ts +98 -0
- package/dist/effects/implementations/blackhole.d.ts.map +1 -0
- package/dist/effects/implementations/blackhole.js +394 -0
- package/dist/effects/implementations/blackhole.js.map +1 -0
- package/dist/effects/implementations/burn.d.ts +74 -0
- package/dist/effects/implementations/burn.d.ts.map +1 -0
- package/dist/effects/implementations/burn.js +234 -0
- package/dist/effects/implementations/burn.js.map +1 -0
- package/dist/effects/implementations/decrypt.d.ts +115 -0
- package/dist/effects/implementations/decrypt.d.ts.map +1 -0
- package/dist/effects/implementations/decrypt.js +394 -0
- package/dist/effects/implementations/decrypt.js.map +1 -0
- package/dist/effects/implementations/test.d.ts +113 -0
- package/dist/effects/implementations/test.d.ts.map +1 -0
- package/dist/effects/implementations/test.js +552 -0
- package/dist/effects/implementations/test.js.map +1 -0
- package/dist/effects/implementations/waves.d.ts +78 -0
- package/dist/effects/implementations/waves.d.ts.map +1 -0
- package/dist/effects/implementations/waves.js +278 -0
- package/dist/effects/implementations/waves.js.map +1 -0
- package/dist/effects/index.d.ts +37 -0
- package/dist/effects/index.d.ts.map +1 -0
- package/dist/effects/index.js +79 -0
- package/dist/effects/index.js.map +1 -0
- package/dist/effects/motion-engine.d.ts +168 -0
- package/dist/effects/motion-engine.d.ts.map +1 -0
- package/dist/effects/motion-engine.js +353 -0
- package/dist/effects/motion-engine.js.map +1 -0
- package/dist/effects/safe-executor.d.ts +55 -0
- package/dist/effects/safe-executor.d.ts.map +1 -0
- package/dist/effects/safe-executor.js +210 -0
- package/dist/effects/safe-executor.js.map +1 -0
- package/dist/effects/template/effect-template.d.ts +97 -0
- package/dist/effects/template/effect-template.d.ts.map +1 -0
- package/dist/effects/template/effect-template.js +208 -0
- package/dist/effects/template/effect-template.js.map +1 -0
- package/dist/effects/types.d.ts +199 -0
- package/dist/effects/types.d.ts.map +1 -0
- package/dist/effects/types.js +80 -0
- package/dist/effects/types.js.map +1 -0
- package/dist/effects/utils.d.ts +104 -0
- package/dist/effects/utils.d.ts.map +1 -0
- package/dist/effects/utils.js +280 -0
- package/dist/effects/utils.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -51
- package/dist/index.js.map +1 -1
- package/dist/utils/env-manager.d.ts +66 -2
- package/dist/utils/env-manager.d.ts.map +1 -1
- package/dist/utils/env-manager.js +355 -65
- package/dist/utils/env-manager.js.map +1 -1
- package/dist/utils/platform-detector.js +15 -19
- package/dist/utils/platform-detector.js.map +1 -1
- package/dist/utils/prompts.js +21 -34
- package/dist/utils/prompts.js.map +1 -1
- package/package.json +10 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waves.d.ts","sourceRoot":"","sources":["../../../src/effects/implementations/waves.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EAIX,MAAM,aAAa,CAAC;AAIrB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;IACnD,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAeD;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,WAAW,uDAAuD;IAE3E,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,CAAW;gBAEhB,OAAO,GAAE,kBAAuB;IAe5C;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAuD9B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAkDjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4D5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6C7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,SAAS,CAAC,OAAO,IAAI,IAAI;CAO1B"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Waves Effect
|
|
3
|
+
* Creates wave patterns that travel across the text
|
|
4
|
+
*/
|
|
5
|
+
import { BaseEffect, } from "../types.js";
|
|
6
|
+
import { ANSI } from "../utils.js";
|
|
7
|
+
import { Gradient, GradientDirection, EASING } from "../gradient.js";
|
|
8
|
+
/**
|
|
9
|
+
* Waves effect implementation
|
|
10
|
+
*/
|
|
11
|
+
export class WavesEffect extends BaseEffect {
|
|
12
|
+
constructor(options = {}) {
|
|
13
|
+
super();
|
|
14
|
+
this.name = "Waves";
|
|
15
|
+
this.description = "Creates wave patterns that travel across the text";
|
|
16
|
+
this.characterStates = new Map();
|
|
17
|
+
this.animationFrameCount = 0;
|
|
18
|
+
this.totalFrames = 0;
|
|
19
|
+
this.wavePosition = 0;
|
|
20
|
+
this._isEffectComplete = false;
|
|
21
|
+
this.options = {
|
|
22
|
+
duration: 4000,
|
|
23
|
+
waveColors: ["0080ff", "00a0ff", "00c0ff", "00e0ff", "00ffff", "80ffff", "ffffff"],
|
|
24
|
+
finalColor: "ffffff",
|
|
25
|
+
waveSpeed: 0.15,
|
|
26
|
+
waveFrequency: 2,
|
|
27
|
+
waveAmplitude: 3,
|
|
28
|
+
direction: "horizontal",
|
|
29
|
+
useGradient: true,
|
|
30
|
+
...options,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Initialize the effect
|
|
35
|
+
*/
|
|
36
|
+
onInitialize() {
|
|
37
|
+
this.totalFrames = Math.floor((this.options.duration / 1000) * this.config.frameRate);
|
|
38
|
+
// Create gradient if enabled
|
|
39
|
+
if (this.options.useGradient) {
|
|
40
|
+
this.gradient = new Gradient({
|
|
41
|
+
stops: this.options.waveColors,
|
|
42
|
+
steps: 10,
|
|
43
|
+
direction: this.options.direction === "vertical"
|
|
44
|
+
? GradientDirection.HORIZONTAL
|
|
45
|
+
: GradientDirection.VERTICAL,
|
|
46
|
+
easingFn: EASING.inOutSine,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
// Initialize character states
|
|
50
|
+
this.characterStates.clear();
|
|
51
|
+
const dimensions = this.getCanvasDimensions();
|
|
52
|
+
for (const char of this.characters) {
|
|
53
|
+
const key = `${char.originalPosition.x},${char.originalPosition.y}`;
|
|
54
|
+
// Calculate wave offset based on position and direction
|
|
55
|
+
let waveOffset = 0;
|
|
56
|
+
switch (this.options.direction) {
|
|
57
|
+
case "horizontal":
|
|
58
|
+
waveOffset = char.originalPosition.x / dimensions.width;
|
|
59
|
+
break;
|
|
60
|
+
case "vertical":
|
|
61
|
+
waveOffset = char.originalPosition.y / dimensions.height;
|
|
62
|
+
break;
|
|
63
|
+
case "diagonal":
|
|
64
|
+
waveOffset = (char.originalPosition.x + char.originalPosition.y) /
|
|
65
|
+
(dimensions.width + dimensions.height);
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
this.characterStates.set(key, {
|
|
69
|
+
phase: "waiting",
|
|
70
|
+
waveOffset,
|
|
71
|
+
waveIntensity: 0,
|
|
72
|
+
originalY: char.originalPosition.y,
|
|
73
|
+
currentWaveY: char.originalPosition.y,
|
|
74
|
+
colorIndex: 0,
|
|
75
|
+
settleProgress: 0,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
this.wavePosition = -0.5; // Start wave off-screen
|
|
79
|
+
this.animationFrameCount = 0;
|
|
80
|
+
this._isEffectComplete = false;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Render the next frame
|
|
84
|
+
*/
|
|
85
|
+
async render() {
|
|
86
|
+
if (!this.isInitialized) {
|
|
87
|
+
throw new Error("Effect not initialized");
|
|
88
|
+
}
|
|
89
|
+
// Update animation state
|
|
90
|
+
this.updateAnimationState();
|
|
91
|
+
// Create the frame
|
|
92
|
+
const dimensions = this.getCanvasDimensions();
|
|
93
|
+
const frame = Array(dimensions.height)
|
|
94
|
+
.fill("")
|
|
95
|
+
.map(() => Array(dimensions.width).fill(" "));
|
|
96
|
+
// Render characters
|
|
97
|
+
for (const char of this.characters) {
|
|
98
|
+
const key = `${char.originalPosition.x},${char.originalPosition.y}`;
|
|
99
|
+
const state = this.characterStates.get(key);
|
|
100
|
+
if (state) {
|
|
101
|
+
const visual = this.createCharacterVisual(char, state);
|
|
102
|
+
char.visual = visual;
|
|
103
|
+
// Use wave-displaced position for horizontal/diagonal waves
|
|
104
|
+
let x = char.originalPosition.x;
|
|
105
|
+
let y = char.originalPosition.y;
|
|
106
|
+
if (this.options.direction !== "vertical" && state.phase === "waving") {
|
|
107
|
+
y = Math.round(state.currentWaveY);
|
|
108
|
+
}
|
|
109
|
+
else if (this.options.direction === "vertical" && state.phase === "waving") {
|
|
110
|
+
// For vertical waves, displace horizontally
|
|
111
|
+
x = Math.round(char.originalPosition.x +
|
|
112
|
+
Math.sin(state.currentWaveY * Math.PI * this.options.waveFrequency) *
|
|
113
|
+
this.options.waveAmplitude);
|
|
114
|
+
}
|
|
115
|
+
if (y >= 0 && y < dimensions.height && x >= 0 && x < dimensions.width) {
|
|
116
|
+
const colorCode = this.getColorCode(visual.colors.fg);
|
|
117
|
+
const resetCode = ANSI.reset;
|
|
118
|
+
frame[y][x] = colorCode + visual.symbol + resetCode;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this.animationFrameCount++;
|
|
123
|
+
// Convert frame to strings
|
|
124
|
+
return frame.map((row) => row.join(""));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Update animation state for all characters
|
|
128
|
+
*/
|
|
129
|
+
updateAnimationState() {
|
|
130
|
+
const progress = this.animationFrameCount / this.totalFrames;
|
|
131
|
+
// Update wave position
|
|
132
|
+
this.wavePosition += this.options.waveSpeed;
|
|
133
|
+
// Update character states
|
|
134
|
+
for (const [key, state] of this.characterStates) {
|
|
135
|
+
const [_x, _y] = key.split(",").map(Number);
|
|
136
|
+
// Calculate wave influence
|
|
137
|
+
const waveDistance = Math.abs(this.wavePosition - state.waveOffset);
|
|
138
|
+
const waveInfluence = Math.max(0, 1 - waveDistance * 2);
|
|
139
|
+
if (waveInfluence > 0 && state.phase !== "complete") {
|
|
140
|
+
state.phase = "waving";
|
|
141
|
+
state.waveIntensity = waveInfluence;
|
|
142
|
+
// Calculate wave displacement
|
|
143
|
+
const wavePhase = (state.waveOffset + this.wavePosition) *
|
|
144
|
+
Math.PI * 2 * this.options.waveFrequency;
|
|
145
|
+
const waveHeight = Math.sin(wavePhase) * this.options.waveAmplitude * waveInfluence;
|
|
146
|
+
if (this.options.direction !== "vertical") {
|
|
147
|
+
state.currentWaveY = state.originalY + waveHeight;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
// For vertical waves, we'll use this for horizontal displacement
|
|
151
|
+
state.currentWaveY = wavePhase;
|
|
152
|
+
}
|
|
153
|
+
// Update color based on wave position
|
|
154
|
+
if (this.gradient) {
|
|
155
|
+
const spectrum = this.gradient.getSpectrum();
|
|
156
|
+
state.colorIndex = Math.floor(waveInfluence * (spectrum.length - 1));
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
state.colorIndex = Math.floor(waveInfluence * (this.options.waveColors.length - 1));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else if (state.phase === "waving" && waveInfluence === 0) {
|
|
163
|
+
// Start settling
|
|
164
|
+
state.phase = "settling";
|
|
165
|
+
}
|
|
166
|
+
// Handle settling phase
|
|
167
|
+
if (state.phase === "settling") {
|
|
168
|
+
state.settleProgress += 0.05;
|
|
169
|
+
state.currentWaveY = state.originalY +
|
|
170
|
+
(state.currentWaveY - state.originalY) * (1 - state.settleProgress);
|
|
171
|
+
if (state.settleProgress >= 1) {
|
|
172
|
+
state.phase = "complete";
|
|
173
|
+
state.currentWaveY = state.originalY;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Check if effect is complete
|
|
178
|
+
this._isEffectComplete = progress >= 1 ||
|
|
179
|
+
Array.from(this.characterStates.values()).every(s => s.phase === "complete");
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Create visual representation of a character
|
|
183
|
+
*/
|
|
184
|
+
createCharacterVisual(char, state) {
|
|
185
|
+
let color = this.options.finalColor;
|
|
186
|
+
switch (state.phase) {
|
|
187
|
+
case "waiting":
|
|
188
|
+
// Use dimmed color while waiting
|
|
189
|
+
color = "404040";
|
|
190
|
+
break;
|
|
191
|
+
case "waving":
|
|
192
|
+
// Use wave color based on intensity
|
|
193
|
+
if (this.gradient) {
|
|
194
|
+
const spectrum = this.gradient.getSpectrum();
|
|
195
|
+
color = spectrum[state.colorIndex] || spectrum[spectrum.length - 1];
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
color = this.options.waveColors[state.colorIndex] ||
|
|
199
|
+
this.options.waveColors[this.options.waveColors.length - 1];
|
|
200
|
+
}
|
|
201
|
+
break;
|
|
202
|
+
case "settling":
|
|
203
|
+
// Interpolate from wave color to final color
|
|
204
|
+
const waveColor = this.gradient
|
|
205
|
+
? this.gradient.getSpectrum()[0]
|
|
206
|
+
: this.options.waveColors[0];
|
|
207
|
+
color = this.interpolateColor(waveColor, this.options.finalColor, state.settleProgress);
|
|
208
|
+
break;
|
|
209
|
+
case "complete":
|
|
210
|
+
color = this.options.finalColor;
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
symbol: char.originalSymbol,
|
|
215
|
+
colors: {
|
|
216
|
+
fg: color,
|
|
217
|
+
bg: null,
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Get ANSI color code for a color
|
|
223
|
+
*/
|
|
224
|
+
getColorCode(color) {
|
|
225
|
+
if (!color || this.config.noColor) {
|
|
226
|
+
return "";
|
|
227
|
+
}
|
|
228
|
+
// For RGB colors, convert to ANSI 24-bit color
|
|
229
|
+
if (typeof color === "string") {
|
|
230
|
+
const r = parseInt(color.substring(0, 2), 16);
|
|
231
|
+
const g = parseInt(color.substring(2, 4), 16);
|
|
232
|
+
const b = parseInt(color.substring(4, 6), 16);
|
|
233
|
+
return `\x1b[38;2;${r};${g};${b}m`;
|
|
234
|
+
}
|
|
235
|
+
// For XTerm colors
|
|
236
|
+
return `\x1b[38;5;${color}m`;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Interpolate between two colors
|
|
240
|
+
*/
|
|
241
|
+
interpolateColor(color1, color2, factor) {
|
|
242
|
+
const r1 = parseInt(color1.substring(0, 2), 16);
|
|
243
|
+
const g1 = parseInt(color1.substring(2, 4), 16);
|
|
244
|
+
const b1 = parseInt(color1.substring(4, 6), 16);
|
|
245
|
+
const r2 = parseInt(color2.substring(0, 2), 16);
|
|
246
|
+
const g2 = parseInt(color2.substring(2, 4), 16);
|
|
247
|
+
const b2 = parseInt(color2.substring(4, 6), 16);
|
|
248
|
+
const r = Math.round(r1 + (r2 - r1) * factor);
|
|
249
|
+
const g = Math.round(g1 + (g2 - g1) * factor);
|
|
250
|
+
const b = Math.round(b1 + (b2 - b1) * factor);
|
|
251
|
+
return [r, g, b]
|
|
252
|
+
.map((c) => Math.max(0, Math.min(255, c)).toString(16).padStart(2, "0"))
|
|
253
|
+
.join("");
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Render fallback for when effects are disabled
|
|
257
|
+
*/
|
|
258
|
+
renderFallback() {
|
|
259
|
+
return this.text.split("\n");
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Check if effect is complete
|
|
263
|
+
*/
|
|
264
|
+
isComplete() {
|
|
265
|
+
return this._isEffectComplete;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Reset the effect
|
|
269
|
+
*/
|
|
270
|
+
onReset() {
|
|
271
|
+
this.characterStates.clear();
|
|
272
|
+
this.wavePosition = -0.5;
|
|
273
|
+
this.animationFrameCount = 0;
|
|
274
|
+
this._isEffectComplete = false;
|
|
275
|
+
this.onInitialize();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=waves.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waves.js","sourceRoot":"","sources":["../../../src/effects/implementations/waves.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Effect Registry and Exports
|
|
3
|
+
*/
|
|
4
|
+
import { Effect, EffectRegistryEntry } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Registry of all available effects
|
|
7
|
+
*/
|
|
8
|
+
export declare const effectRegistry: Map<string, EffectRegistryEntry>;
|
|
9
|
+
/**
|
|
10
|
+
* Register an effect
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerEffect(entry: EffectRegistryEntry): void;
|
|
13
|
+
/**
|
|
14
|
+
* Get an effect by name
|
|
15
|
+
*/
|
|
16
|
+
export declare function getEffect(name: string): Effect | null;
|
|
17
|
+
/**
|
|
18
|
+
* Get all available effects
|
|
19
|
+
*/
|
|
20
|
+
export declare function getAllEffects(): EffectRegistryEntry[];
|
|
21
|
+
export { BurnEffect } from "./implementations/burn.js";
|
|
22
|
+
export { BeamsEffect } from "./implementations/beams.js";
|
|
23
|
+
export { DecryptEffect } from "./implementations/decrypt.js";
|
|
24
|
+
export { BlackholeEffect } from "./implementations/blackhole.js";
|
|
25
|
+
export { WavesEffect } from "./implementations/waves.js";
|
|
26
|
+
export * from "./types.js";
|
|
27
|
+
export * from "./utils.js";
|
|
28
|
+
export * from "./config.js";
|
|
29
|
+
export * from "./safe-executor.js";
|
|
30
|
+
export * from "./effect-runner.js";
|
|
31
|
+
export * from "./cli-integration.js";
|
|
32
|
+
export { Gradient, GradientDirection, GRADIENTS, EASING } from "./gradient.js";
|
|
33
|
+
export { SyncMetric, AnimationEvent, CharacterAnimation, AnimatedCharacter, } from "./animation-engine.js";
|
|
34
|
+
export type { AnimationFrame, AnimationEventHandler, } from "./animation-engine.js";
|
|
35
|
+
export { MotionEvent, CharacterMotion } from "./motion-engine.js";
|
|
36
|
+
export type { Waypoint, Segment, MotionEventHandler } from "./motion-engine.js";
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAOzD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAa,CAAC;AAE1E;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAE/D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,mBAAmB,EAAE,CAErD;AAqCD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EACL,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGlE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Effect Registry and Exports
|
|
3
|
+
*/
|
|
4
|
+
import { BurnEffect } from "./implementations/burn.js";
|
|
5
|
+
import { BeamsEffect } from "./implementations/beams.js";
|
|
6
|
+
import { DecryptEffect } from "./implementations/decrypt.js";
|
|
7
|
+
import { BlackholeEffect } from "./implementations/blackhole.js";
|
|
8
|
+
import { WavesEffect } from "./implementations/waves.js";
|
|
9
|
+
/**
|
|
10
|
+
* Registry of all available effects
|
|
11
|
+
*/
|
|
12
|
+
export const effectRegistry = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Register an effect
|
|
15
|
+
*/
|
|
16
|
+
export function registerEffect(entry) {
|
|
17
|
+
effectRegistry.set(entry.name.toLowerCase(), entry);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get an effect by name
|
|
21
|
+
*/
|
|
22
|
+
export function getEffect(name) {
|
|
23
|
+
const entry = effectRegistry.get(name.toLowerCase());
|
|
24
|
+
return entry ? entry.factory() : null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get all available effects
|
|
28
|
+
*/
|
|
29
|
+
export function getAllEffects() {
|
|
30
|
+
return Array.from(effectRegistry.values());
|
|
31
|
+
}
|
|
32
|
+
// Register built-in effects
|
|
33
|
+
registerEffect({
|
|
34
|
+
name: "burn",
|
|
35
|
+
description: "Characters are ignited and burn up the screen",
|
|
36
|
+
factory: () => new BurnEffect(),
|
|
37
|
+
});
|
|
38
|
+
registerEffect({
|
|
39
|
+
name: "beams",
|
|
40
|
+
description: "Creates beams which travel over the canvas illuminating the characters",
|
|
41
|
+
factory: () => new BeamsEffect(),
|
|
42
|
+
});
|
|
43
|
+
// Binary Path effect removed - was causing issues and blocking demo
|
|
44
|
+
registerEffect({
|
|
45
|
+
name: "decrypt",
|
|
46
|
+
description: "Movie-style text decryption effect with typing animation",
|
|
47
|
+
factory: () => new DecryptEffect(),
|
|
48
|
+
});
|
|
49
|
+
registerEffect({
|
|
50
|
+
name: "blackhole",
|
|
51
|
+
description: "Characters are consumed by a black hole and explode outwards",
|
|
52
|
+
factory: () => new BlackholeEffect(),
|
|
53
|
+
});
|
|
54
|
+
registerEffect({
|
|
55
|
+
name: "waves",
|
|
56
|
+
description: "Creates wave patterns that travel across the text",
|
|
57
|
+
factory: () => new WavesEffect(),
|
|
58
|
+
});
|
|
59
|
+
// Export individual effects
|
|
60
|
+
export { BurnEffect } from "./implementations/burn.js";
|
|
61
|
+
export { BeamsEffect } from "./implementations/beams.js";
|
|
62
|
+
// BinaryPathEffect removed - was causing issues
|
|
63
|
+
export { DecryptEffect } from "./implementations/decrypt.js";
|
|
64
|
+
export { BlackholeEffect } from "./implementations/blackhole.js";
|
|
65
|
+
export { WavesEffect } from "./implementations/waves.js";
|
|
66
|
+
// Export types
|
|
67
|
+
export * from "./types.js";
|
|
68
|
+
export * from "./utils.js";
|
|
69
|
+
export * from "./config.js";
|
|
70
|
+
export * from "./safe-executor.js";
|
|
71
|
+
export * from "./effect-runner.js";
|
|
72
|
+
export * from "./cli-integration.js";
|
|
73
|
+
// Export gradient system (has createGradient which conflicts with utils)
|
|
74
|
+
export { Gradient, GradientDirection, GRADIENTS, EASING } from "./gradient.js";
|
|
75
|
+
// Export animation engine (has Scene which conflicts with types)
|
|
76
|
+
export { SyncMetric, AnimationEvent, CharacterAnimation, AnimatedCharacter, } from "./animation-engine.js";
|
|
77
|
+
// Export motion engine (has Path which conflicts with types)
|
|
78
|
+
export { MotionEvent, CharacterMotion } from "./motion-engine.js";
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAqC,IAAI,GAAG,EAAE,CAAC;AAE1E;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,4BAA4B;AAC5B,cAAc,CAAC;IACb,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,+CAA+C;IAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE;CAChC,CAAC,CAAC;AAEH,cAAc,CAAC;IACb,IAAI,EAAE,OAAO;IACb,WAAW,EACT,wEAAwE;IAC1E,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE;CACjC,CAAC,CAAC;AAEH,oEAAoE;AAEpE,cAAc,CAAC;IACb,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,0DAA0D;IACvE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;CACnC,CAAC,CAAC;AAEH,cAAc,CAAC;IACb,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,8DAA8D;IAC3E,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE;CACrC,CAAC,CAAC;AAEH,cAAc,CAAC;IACb,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,mDAAmD;IAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE;CACjC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,gDAAgD;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,eAAe;AACf,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAErC,yEAAyE;AACzE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE/E,iEAAiE;AACjE,OAAO,EACL,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAQ/B,6DAA6D;AAC7D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Motion Path Engine for Terminal Effects
|
|
3
|
+
* Provides sophisticated character movement with paths, waypoints, and bezier curves
|
|
4
|
+
*/
|
|
5
|
+
import { Coordinate, EasingFunction } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Waypoint in a motion path
|
|
8
|
+
*/
|
|
9
|
+
export interface Waypoint {
|
|
10
|
+
id: string;
|
|
11
|
+
coordinate: Coordinate;
|
|
12
|
+
/** Optional bezier control point for curved paths */
|
|
13
|
+
bezierControl?: Coordinate;
|
|
14
|
+
/** Hold time at this waypoint (ms) */
|
|
15
|
+
holdTime?: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Motion segment between two waypoints
|
|
19
|
+
*/
|
|
20
|
+
export interface Segment {
|
|
21
|
+
start: Waypoint;
|
|
22
|
+
end: Waypoint;
|
|
23
|
+
distance: number;
|
|
24
|
+
/** Bezier curve points if applicable */
|
|
25
|
+
curvePoints?: Coordinate[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Motion path for character movement
|
|
29
|
+
*/
|
|
30
|
+
export declare class Path {
|
|
31
|
+
readonly id: string;
|
|
32
|
+
private waypoints;
|
|
33
|
+
private segments;
|
|
34
|
+
private _isLooping;
|
|
35
|
+
private _speed;
|
|
36
|
+
private _easingFn?;
|
|
37
|
+
/** Current position along the path (0-1) */
|
|
38
|
+
private progress;
|
|
39
|
+
/** Current segment index */
|
|
40
|
+
private currentSegmentIndex;
|
|
41
|
+
/** Time spent at current waypoint (for holds) */
|
|
42
|
+
private holdTimeElapsed;
|
|
43
|
+
/** Total path distance */
|
|
44
|
+
private totalDistance;
|
|
45
|
+
constructor(id: string, speed?: number, easingFn?: EasingFunction);
|
|
46
|
+
/**
|
|
47
|
+
* Add a waypoint to the path
|
|
48
|
+
*/
|
|
49
|
+
newWaypoint(coord: Coordinate, waypointId?: string, bezierControl?: Coordinate, holdTime?: number): Waypoint;
|
|
50
|
+
/**
|
|
51
|
+
* Recalculate segments when waypoints change
|
|
52
|
+
*/
|
|
53
|
+
private recalculateSegments;
|
|
54
|
+
/**
|
|
55
|
+
* Calculate bezier curve points
|
|
56
|
+
*/
|
|
57
|
+
private calculateBezierPoints;
|
|
58
|
+
/**
|
|
59
|
+
* Calculate distance between two coordinates
|
|
60
|
+
*/
|
|
61
|
+
private calculateDistance;
|
|
62
|
+
/**
|
|
63
|
+
* Calculate total distance along a path of points
|
|
64
|
+
*/
|
|
65
|
+
private calculatePathDistance;
|
|
66
|
+
/**
|
|
67
|
+
* Set looping behavior
|
|
68
|
+
*/
|
|
69
|
+
setLooping(isLooping: boolean): void;
|
|
70
|
+
/**
|
|
71
|
+
* Set speed
|
|
72
|
+
*/
|
|
73
|
+
setSpeed(speed: number): void;
|
|
74
|
+
/**
|
|
75
|
+
* Get position at current progress
|
|
76
|
+
*/
|
|
77
|
+
getCurrentPosition(): Coordinate;
|
|
78
|
+
/**
|
|
79
|
+
* Get progress within current segment (0-1)
|
|
80
|
+
*/
|
|
81
|
+
private getSegmentProgress;
|
|
82
|
+
/**
|
|
83
|
+
* Update motion progress
|
|
84
|
+
*/
|
|
85
|
+
update(deltaTime: number): void;
|
|
86
|
+
/**
|
|
87
|
+
* Reset the path
|
|
88
|
+
*/
|
|
89
|
+
reset(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Check if path is complete
|
|
92
|
+
*/
|
|
93
|
+
isComplete(): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Get waypoint count
|
|
96
|
+
*/
|
|
97
|
+
getWaypointCount(): number;
|
|
98
|
+
/**
|
|
99
|
+
* Get total path distance
|
|
100
|
+
*/
|
|
101
|
+
getTotalDistance(): number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Motion event types
|
|
105
|
+
*/
|
|
106
|
+
export declare enum MotionEvent {
|
|
107
|
+
PATH_COMPLETE = "path_complete",
|
|
108
|
+
PATH_ACTIVATED = "path_activated",
|
|
109
|
+
WAYPOINT_REACHED = "waypoint_reached",
|
|
110
|
+
SEGMENT_ENTERED = "segment_entered"
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Motion event handler
|
|
114
|
+
*/
|
|
115
|
+
export interface MotionEventHandler {
|
|
116
|
+
event: MotionEvent;
|
|
117
|
+
pathId?: string;
|
|
118
|
+
waypointId?: string;
|
|
119
|
+
callback: () => void;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Character motion manager
|
|
123
|
+
*/
|
|
124
|
+
export declare class CharacterMotion {
|
|
125
|
+
private paths;
|
|
126
|
+
private activePath;
|
|
127
|
+
private lastUpdateTime;
|
|
128
|
+
private eventHandlers;
|
|
129
|
+
private currentPosition;
|
|
130
|
+
constructor(initialPosition: Coordinate);
|
|
131
|
+
/**
|
|
132
|
+
* Create a new path
|
|
133
|
+
*/
|
|
134
|
+
newPath(pathId: string, speed?: number, easingFn?: EasingFunction): Path;
|
|
135
|
+
/**
|
|
136
|
+
* Get a path by ID
|
|
137
|
+
*/
|
|
138
|
+
queryPath(pathId: string): Path | undefined;
|
|
139
|
+
/**
|
|
140
|
+
* Activate a path
|
|
141
|
+
*/
|
|
142
|
+
activatePath(path: Path): void;
|
|
143
|
+
/**
|
|
144
|
+
* Set position directly
|
|
145
|
+
*/
|
|
146
|
+
setCoordinate(coord: Coordinate): void;
|
|
147
|
+
/**
|
|
148
|
+
* Update motion and get current position
|
|
149
|
+
*/
|
|
150
|
+
update(): Coordinate;
|
|
151
|
+
/**
|
|
152
|
+
* Register an event handler
|
|
153
|
+
*/
|
|
154
|
+
registerEvent(event: MotionEvent, pathId: string, callback: () => void, waypointId?: string): void;
|
|
155
|
+
/**
|
|
156
|
+
* Trigger an event
|
|
157
|
+
*/
|
|
158
|
+
private triggerEvent;
|
|
159
|
+
/**
|
|
160
|
+
* Reset all paths
|
|
161
|
+
*/
|
|
162
|
+
reset(): void;
|
|
163
|
+
/**
|
|
164
|
+
* Get current position
|
|
165
|
+
*/
|
|
166
|
+
getCurrentPosition(): Coordinate;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=motion-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion-engine.d.ts","sourceRoot":"","sources":["../../src/effects/motion-engine.ts"],"names":[],"mappings":"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"}
|