shellfie-cli 2.0.0 → 2.0.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.
Files changed (44) hide show
  1. package/README.md +1 -1
  2. package/dist/animator.d.ts +8 -0
  3. package/dist/animator.d.ts.map +1 -0
  4. package/dist/animator.js +210 -0
  5. package/dist/animator.js.map +1 -0
  6. package/dist/cli.js +16 -1
  7. package/dist/cli.js.map +1 -1
  8. package/dist/dvd-executor-v2.d.ts +76 -0
  9. package/dist/dvd-executor-v2.d.ts.map +1 -0
  10. package/dist/dvd-executor-v2.js +258 -0
  11. package/dist/dvd-executor-v2.js.map +1 -0
  12. package/dist/dvd-executor.d.ts +144 -0
  13. package/dist/dvd-executor.d.ts.map +1 -0
  14. package/dist/dvd-executor.js +669 -0
  15. package/dist/dvd-executor.js.map +1 -0
  16. package/dist/dvd-parser.d.ts +96 -0
  17. package/dist/dvd-parser.d.ts.map +1 -0
  18. package/dist/dvd-parser.js +279 -0
  19. package/dist/dvd-parser.js.map +1 -0
  20. package/dist/dvd.d.ts +31 -0
  21. package/dist/dvd.d.ts.map +1 -0
  22. package/dist/dvd.js +154 -0
  23. package/dist/dvd.js.map +1 -0
  24. package/dist/frame-animator.d.ts +21 -0
  25. package/dist/frame-animator.d.ts.map +1 -0
  26. package/dist/frame-animator.js +254 -0
  27. package/dist/frame-animator.js.map +1 -0
  28. package/dist/frame-capture.d.ts +16 -0
  29. package/dist/frame-capture.d.ts.map +1 -0
  30. package/dist/frame-capture.js +162 -0
  31. package/dist/frame-capture.js.map +1 -0
  32. package/dist/svg-animator-v2.d.ts +23 -0
  33. package/dist/svg-animator-v2.d.ts.map +1 -0
  34. package/dist/svg-animator-v2.js +134 -0
  35. package/dist/svg-animator-v2.js.map +1 -0
  36. package/dist/svg-animator.d.ts +23 -0
  37. package/dist/svg-animator.d.ts.map +1 -0
  38. package/dist/svg-animator.js +134 -0
  39. package/dist/svg-animator.js.map +1 -0
  40. package/dist/terminal-renderer.d.ts +34 -0
  41. package/dist/terminal-renderer.d.ts.map +1 -0
  42. package/dist/terminal-renderer.js +229 -0
  43. package/dist/terminal-renderer.js.map +1 -0
  44. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dvd-executor.js","sourceRoot":"","sources":["../src/dvd-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * DVD (Dynamic Video Display) Format Parser
3
+ * Zero-dependency parser for .dvd scripting format
4
+ * Inspired by VHS .tape format but for animated SVGs
5
+ */
6
+ export type DVDCommand = {
7
+ type: 'Output';
8
+ path: string;
9
+ } | {
10
+ type: 'Require';
11
+ program: string;
12
+ } | {
13
+ type: 'Set';
14
+ setting: string;
15
+ value: string;
16
+ } | {
17
+ type: 'Type';
18
+ text: string;
19
+ speed?: number;
20
+ prefix?: string;
21
+ } | {
22
+ type: 'Key';
23
+ key: 'Left' | 'Right' | 'Up' | 'Down' | 'Backspace' | 'Enter' | 'Tab' | 'Space';
24
+ count?: number;
25
+ } | {
26
+ type: 'Shortcut';
27
+ ctrl: boolean;
28
+ alt: boolean;
29
+ shift: boolean;
30
+ cmd: boolean;
31
+ key: string;
32
+ } | {
33
+ type: 'Sleep';
34
+ duration: number;
35
+ } | {
36
+ type: 'Wait';
37
+ condition?: 'Screen' | 'Line';
38
+ pattern?: RegExp;
39
+ } | {
40
+ type: 'Hide';
41
+ } | {
42
+ type: 'Show';
43
+ } | {
44
+ type: 'Screenshot';
45
+ path?: string;
46
+ } | {
47
+ type: 'Copy';
48
+ text: string;
49
+ } | {
50
+ type: 'Paste';
51
+ } | {
52
+ type: 'Source';
53
+ file: string;
54
+ } | {
55
+ type: 'Env';
56
+ key: string;
57
+ value: string;
58
+ } | {
59
+ type: 'Comment';
60
+ };
61
+ export interface DVDScript {
62
+ commands: DVDCommand[];
63
+ settings: Map<string, string>;
64
+ output?: string;
65
+ requirements: string[];
66
+ }
67
+ export declare class DVDParseError extends Error {
68
+ line: number;
69
+ column: number;
70
+ constructor(message: string, line: number, column: number);
71
+ }
72
+ /**
73
+ * Parse a time duration string (e.g., "500ms", "2s", "1.5s")
74
+ */
75
+ export declare const parseDuration: (duration: string) => number;
76
+ /**
77
+ * Parse a regex pattern from string (e.g., "/pattern/", "/pattern/i")
78
+ */
79
+ export declare const parseRegex: (pattern: string) => RegExp;
80
+ /**
81
+ * Parse a quoted string, handling escape sequences
82
+ */
83
+ export declare const parseQuotedString: (str: string) => string;
84
+ /**
85
+ * Tokenize a line into command and arguments
86
+ */
87
+ export declare const tokenizeLine: (line: string) => string[];
88
+ /**
89
+ * Parse a single command line
90
+ */
91
+ export declare const parseCommand: (line: string, lineNumber: number) => DVDCommand;
92
+ /**
93
+ * Parse a complete .dvd script
94
+ */
95
+ export declare const parseDVD: (content: string) => DVDScript;
96
+ //# sourceMappingURL=dvd-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dvd-parser.d.ts","sourceRoot":"","sources":["../src/dvd-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAChH;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC5F;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,aAAc,SAAQ,KAAK;IAG7B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;gBAFrB,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;CAKxB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,MAQhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,MAM5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,MAY/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAAM,EA2CjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,KAAG,UA0K/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,SA+B1C,CAAC"}
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ /**
3
+ * DVD (Dynamic Video Display) Format Parser
4
+ * Zero-dependency parser for .dvd scripting format
5
+ * Inspired by VHS .tape format but for animated SVGs
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.parseDVD = exports.parseCommand = exports.tokenizeLine = exports.parseQuotedString = exports.parseRegex = exports.parseDuration = exports.DVDParseError = void 0;
9
+ class DVDParseError extends Error {
10
+ line;
11
+ column;
12
+ constructor(message, line, column) {
13
+ super(`Parse error at line ${line}, column ${column}: ${message}`);
14
+ this.line = line;
15
+ this.column = column;
16
+ this.name = 'DVDParseError';
17
+ }
18
+ }
19
+ exports.DVDParseError = DVDParseError;
20
+ /**
21
+ * Parse a time duration string (e.g., "500ms", "2s", "1.5s")
22
+ */
23
+ const parseDuration = (duration) => {
24
+ const match = duration.match(/^(\d+(?:\.\d+)?)(ms|s)$/);
25
+ if (!match) {
26
+ throw new Error(`Invalid duration format: ${duration}`);
27
+ }
28
+ const value = parseFloat(match[1]);
29
+ const unit = match[2];
30
+ return unit === 's' ? value * 1000 : value;
31
+ };
32
+ exports.parseDuration = parseDuration;
33
+ /**
34
+ * Parse a regex pattern from string (e.g., "/pattern/", "/pattern/i")
35
+ */
36
+ const parseRegex = (pattern) => {
37
+ const match = pattern.match(/^\/(.+?)\/([gimsuvy]*)$/);
38
+ if (!match) {
39
+ throw new Error(`Invalid regex pattern: ${pattern}`);
40
+ }
41
+ return new RegExp(match[1], match[2]);
42
+ };
43
+ exports.parseRegex = parseRegex;
44
+ /**
45
+ * Parse a quoted string, handling escape sequences
46
+ */
47
+ const parseQuotedString = (str) => {
48
+ if (!str.startsWith('"') || !str.endsWith('"')) {
49
+ throw new Error(`Expected quoted string, got: ${str}`);
50
+ }
51
+ const content = str.slice(1, -1);
52
+ return content
53
+ .replace(/\\n/g, '\n')
54
+ .replace(/\\t/g, '\t')
55
+ .replace(/\\r/g, '\r')
56
+ .replace(/\\"/g, '"')
57
+ .replace(/\\\\/g, '\\');
58
+ };
59
+ exports.parseQuotedString = parseQuotedString;
60
+ /**
61
+ * Tokenize a line into command and arguments
62
+ */
63
+ const tokenizeLine = (line) => {
64
+ const tokens = [];
65
+ let current = '';
66
+ let inQuotes = false;
67
+ let escaped = false;
68
+ for (let i = 0; i < line.length; i++) {
69
+ const char = line[i];
70
+ if (escaped) {
71
+ current += char;
72
+ escaped = false;
73
+ continue;
74
+ }
75
+ if (char === '\\') {
76
+ current += char;
77
+ escaped = true;
78
+ continue;
79
+ }
80
+ if (char === '"') {
81
+ inQuotes = !inQuotes;
82
+ current += char;
83
+ continue;
84
+ }
85
+ if (!inQuotes && /\s/.test(char)) {
86
+ if (current) {
87
+ tokens.push(current);
88
+ current = '';
89
+ }
90
+ continue;
91
+ }
92
+ current += char;
93
+ }
94
+ if (current) {
95
+ tokens.push(current);
96
+ }
97
+ return tokens;
98
+ };
99
+ exports.tokenizeLine = tokenizeLine;
100
+ /**
101
+ * Parse a single command line
102
+ */
103
+ const parseCommand = (line, lineNumber) => {
104
+ const trimmed = line.trim();
105
+ // Skip empty lines
106
+ if (!trimmed) {
107
+ return { type: 'Comment' };
108
+ }
109
+ // Skip comments
110
+ if (trimmed.startsWith('#')) {
111
+ return { type: 'Comment' };
112
+ }
113
+ const tokens = (0, exports.tokenizeLine)(trimmed);
114
+ if (tokens.length === 0) {
115
+ return { type: 'Comment' };
116
+ }
117
+ const command = tokens[0];
118
+ try {
119
+ // Output command
120
+ if (command === 'Output') {
121
+ if (tokens.length < 2) {
122
+ throw new Error('Output command requires a path');
123
+ }
124
+ return { type: 'Output', path: tokens[1] };
125
+ }
126
+ // Require command
127
+ if (command === 'Require') {
128
+ if (tokens.length < 2) {
129
+ throw new Error('Require command requires a program name');
130
+ }
131
+ return { type: 'Require', program: tokens[1] };
132
+ }
133
+ // Set command
134
+ if (command === 'Set') {
135
+ if (tokens.length < 3) {
136
+ throw new Error('Set command requires a setting name and value');
137
+ }
138
+ const rawValue = tokens.slice(2).join(' ');
139
+ // Parse as quoted string if it starts and ends with quotes
140
+ const value = rawValue.startsWith('"') && rawValue.endsWith('"')
141
+ ? (0, exports.parseQuotedString)(rawValue)
142
+ : rawValue;
143
+ return { type: 'Set', setting: tokens[1], value };
144
+ }
145
+ // Type command with optional speed override
146
+ if (command === 'Type' || command.startsWith('Type@')) {
147
+ let speed;
148
+ if (command.includes('@')) {
149
+ const speedStr = command.split('@')[1];
150
+ speed = (0, exports.parseDuration)(speedStr);
151
+ }
152
+ if (tokens.length < 2) {
153
+ throw new Error('Type command requires text to type');
154
+ }
155
+ const text = (0, exports.parseQuotedString)(tokens.slice(1).join(' '));
156
+ return { type: 'Type', text, speed };
157
+ }
158
+ // Arrow keys
159
+ if (['Left', 'Right', 'Up', 'Down'].includes(command)) {
160
+ const count = tokens.length > 1 ? parseInt(tokens[1], 10) : undefined;
161
+ return { type: 'Key', key: command, count };
162
+ }
163
+ // Special keys
164
+ if (['Backspace', 'Enter', 'Tab', 'Space'].includes(command)) {
165
+ const count = tokens.length > 1 ? parseInt(tokens[1], 10) : undefined;
166
+ return { type: 'Key', key: command, count };
167
+ }
168
+ // Ctrl/Alt/Shift/Cmd combinations
169
+ if (command.startsWith('Ctrl') || command.startsWith('Alt') || command.startsWith('Shift') || command.startsWith('Cmd')) {
170
+ const parts = command.split('+');
171
+ const ctrl = parts.includes('Ctrl');
172
+ const alt = parts.includes('Alt');
173
+ const shift = parts.includes('Shift');
174
+ const cmd = parts.includes('Cmd');
175
+ const key = parts[parts.length - 1];
176
+ if (!key || key === 'Ctrl' || key === 'Alt' || key === 'Shift' || key === 'Cmd') {
177
+ throw new Error('Shortcut command requires a key');
178
+ }
179
+ return { type: 'Shortcut', ctrl, alt, shift, cmd, key };
180
+ }
181
+ // Sleep command
182
+ if (command === 'Sleep') {
183
+ if (tokens.length < 2) {
184
+ throw new Error('Sleep command requires a duration');
185
+ }
186
+ return { type: 'Sleep', duration: (0, exports.parseDuration)(tokens[1]) };
187
+ }
188
+ // Wait command
189
+ if (command === 'Wait' || command === 'WaitScreen' || command === 'WaitLine') {
190
+ let condition;
191
+ let patternToken = tokens[1];
192
+ if (command === 'WaitScreen') {
193
+ condition = 'Screen';
194
+ }
195
+ else if (command === 'WaitLine') {
196
+ condition = 'Line';
197
+ }
198
+ const pattern = patternToken ? (0, exports.parseRegex)(patternToken) : undefined;
199
+ return { type: 'Wait', condition, pattern };
200
+ }
201
+ // Hide/Show commands
202
+ if (command === 'Hide') {
203
+ return { type: 'Hide' };
204
+ }
205
+ if (command === 'Show') {
206
+ return { type: 'Show' };
207
+ }
208
+ // Screenshot command
209
+ if (command === 'Screenshot') {
210
+ const path = tokens[1];
211
+ return { type: 'Screenshot', path };
212
+ }
213
+ // Copy command
214
+ if (command === 'Copy') {
215
+ if (tokens.length < 2) {
216
+ throw new Error('Copy command requires text to copy');
217
+ }
218
+ const text = (0, exports.parseQuotedString)(tokens.slice(1).join(' '));
219
+ return { type: 'Copy', text };
220
+ }
221
+ // Paste command
222
+ if (command === 'Paste') {
223
+ return { type: 'Paste' };
224
+ }
225
+ // Source command
226
+ if (command === 'Source') {
227
+ if (tokens.length < 2) {
228
+ throw new Error('Source command requires a file path');
229
+ }
230
+ return { type: 'Source', file: tokens[1] };
231
+ }
232
+ // Env command
233
+ if (command === 'Env') {
234
+ if (tokens.length < 3) {
235
+ throw new Error('Env command requires a key and value');
236
+ }
237
+ return { type: 'Env', key: tokens[1], value: tokens.slice(2).join(' ') };
238
+ }
239
+ throw new Error(`Unknown command: ${command}`);
240
+ }
241
+ catch (err) {
242
+ throw new DVDParseError(err instanceof Error ? err.message : String(err), lineNumber, 0);
243
+ }
244
+ };
245
+ exports.parseCommand = parseCommand;
246
+ /**
247
+ * Parse a complete .dvd script
248
+ */
249
+ const parseDVD = (content) => {
250
+ const lines = content.split('\n');
251
+ const commands = [];
252
+ const settings = new Map();
253
+ const requirements = [];
254
+ let output;
255
+ for (let i = 0; i < lines.length; i++) {
256
+ const command = (0, exports.parseCommand)(lines[i], i + 1);
257
+ if (command.type === 'Comment') {
258
+ continue;
259
+ }
260
+ if (command.type === 'Output') {
261
+ output = command.path;
262
+ }
263
+ else if (command.type === 'Require') {
264
+ requirements.push(command.program);
265
+ }
266
+ else if (command.type === 'Set') {
267
+ settings.set(command.setting, command.value);
268
+ }
269
+ commands.push(command);
270
+ }
271
+ return {
272
+ commands,
273
+ settings,
274
+ output,
275
+ requirements,
276
+ };
277
+ };
278
+ exports.parseDVD = parseDVD;
279
+ //# sourceMappingURL=dvd-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dvd-parser.js","sourceRoot":"","sources":["../src/dvd-parser.ts"],"names":[],"mappings":"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"}
package/dist/dvd.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ /**
2
+ * DVD (Dynamic Video Display) - Main Interface
3
+ * Create animated SVGs from .dvd script files
4
+ */
5
+ import { parseDVD } from './dvd-parser';
6
+ import { getAnimationMetadata } from './svg-animator';
7
+ import type { AnimationOptions } from './svg-animator';
8
+ export interface DVDOptions extends AnimationOptions {
9
+ verbose?: boolean;
10
+ width?: number;
11
+ height?: number;
12
+ fontSize?: number;
13
+ title?: string;
14
+ template?: 'macos' | 'windows' | 'minimal';
15
+ }
16
+ /**
17
+ * Read and parse a .dvd file
18
+ */
19
+ export declare const loadDVDFile: (filePath: string) => ReturnType<typeof parseDVD>;
20
+ /**
21
+ * Execute a DVD script and generate animated SVG
22
+ */
23
+ export declare const executeDVD: (filePath: string, options?: DVDOptions) => Promise<{
24
+ svg: string;
25
+ metadata: ReturnType<typeof getAnimationMetadata>;
26
+ }>;
27
+ /**
28
+ * Main entry point - execute DVD and write to file
29
+ */
30
+ export declare const createDVD: (inputPath: string, outputPath?: string, options?: DVDOptions) => Promise<string>;
31
+ //# sourceMappingURL=dvd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dvd.d.ts","sourceRoot":"","sources":["../src/dvd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAqB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,KAAG,UAAU,CAAC,OAAO,QAAQ,CAUxE,CAAC;AA4CF;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,EAChB,UAAS,UAAe,KACvB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;CAAE,CA4E5E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GACpB,WAAW,MAAM,EACjB,aAAa,MAAM,EACnB,UAAS,UAAe,KACvB,OAAO,CAAC,MAAM,CAiChB,CAAC"}
package/dist/dvd.js ADDED
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ /**
3
+ * DVD (Dynamic Video Display) - Main Interface
4
+ * Create animated SVGs from .dvd script files
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.createDVD = exports.executeDVD = exports.loadDVDFile = void 0;
8
+ const node_fs_1 = require("node:fs");
9
+ const dvd_parser_1 = require("./dvd-parser");
10
+ const dvd_executor_1 = require("./dvd-executor");
11
+ const svg_animator_1 = require("./svg-animator");
12
+ const spinner_1 = require("./spinner");
13
+ /**
14
+ * Read and parse a .dvd file
15
+ */
16
+ const loadDVDFile = (filePath) => {
17
+ try {
18
+ const content = (0, node_fs_1.readFileSync)(filePath, 'utf-8');
19
+ return (0, dvd_parser_1.parseDVD)(content);
20
+ }
21
+ catch (err) {
22
+ if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {
23
+ throw new Error(`DVD file not found: ${filePath}`);
24
+ }
25
+ throw err;
26
+ }
27
+ };
28
+ exports.loadDVDFile = loadDVDFile;
29
+ /**
30
+ * Get executor options from DVD settings
31
+ */
32
+ const buildExecutorOptions = (settings, cliOptions) => {
33
+ const options = {};
34
+ // Map DVD settings to executor options
35
+ if (settings.has('Width')) {
36
+ options.width = parseInt(settings.get('Width'), 10);
37
+ }
38
+ if (settings.has('Height')) {
39
+ options.height = parseInt(settings.get('Height'), 10);
40
+ }
41
+ if (settings.has('FontSize')) {
42
+ options.fontSize = parseInt(settings.get('FontSize'), 10);
43
+ }
44
+ if (settings.has('Title')) {
45
+ options.title = settings.get('Title');
46
+ }
47
+ if (settings.has('Template')) {
48
+ options.template = settings.get('Template');
49
+ }
50
+ // Override with CLI options
51
+ return { ...options, ...cliOptions };
52
+ };
53
+ /**
54
+ * Execute a DVD script and generate animated SVG
55
+ */
56
+ const executeDVD = async (filePath, options = {}) => {
57
+ const spinner = (0, spinner_1.createSpinner)('Loading DVD script');
58
+ if (!options.verbose) {
59
+ spinner.start();
60
+ }
61
+ // Load and parse the DVD file
62
+ const script = (0, exports.loadDVDFile)(filePath);
63
+ if (options.verbose) {
64
+ console.log(`Loaded ${script.commands.length} commands from ${filePath}`);
65
+ }
66
+ else {
67
+ spinner.update('Checking requirements');
68
+ }
69
+ // Check requirements (basic check using which)
70
+ if (script.requirements.length > 0) {
71
+ if (options.verbose) {
72
+ console.log(`Requirements specified: ${script.requirements.join(', ')}`);
73
+ }
74
+ }
75
+ // Build executor options from settings
76
+ const executorOptions = buildExecutorOptions(script.settings, options);
77
+ // Execute the script
78
+ if (!options.verbose) {
79
+ spinner.update('Executing DVD script');
80
+ }
81
+ const executor = new dvd_executor_1.DVDExecutor({
82
+ width: executorOptions.width,
83
+ height: executorOptions.height,
84
+ fontSize: executorOptions.fontSize,
85
+ title: executorOptions.title,
86
+ template: executorOptions.template,
87
+ onProgress: (current, total, description) => {
88
+ const descText = description ? ` \x1b[2m${description}\x1b[0m` : '';
89
+ if (options.verbose) {
90
+ console.log(`Executing command ${current}/${total}${descText}`);
91
+ }
92
+ else {
93
+ spinner.update(`Executing commands (${current}/${total})${descText}`);
94
+ }
95
+ },
96
+ });
97
+ try {
98
+ const frames = await executor.execute(script);
99
+ if (options.verbose) {
100
+ console.log(`Captured ${frames.length} frames`);
101
+ }
102
+ else {
103
+ spinner.update('Generating animated SVG');
104
+ }
105
+ // Generate animated SVG
106
+ const animationOptions = {
107
+ fps: options.fps,
108
+ loop: options.loop !== false, // Default to true
109
+ pauseAtEnd: options.pauseAtEnd || 1000, // Default 1s pause
110
+ };
111
+ const svg = await (0, svg_animator_1.createAnimatedSVG)(frames, animationOptions);
112
+ const metadata = (0, svg_animator_1.getAnimationMetadata)(frames);
113
+ if (!options.verbose) {
114
+ spinner.stop();
115
+ }
116
+ return { svg, metadata };
117
+ }
118
+ catch (err) {
119
+ await executor.cleanup();
120
+ throw err;
121
+ }
122
+ };
123
+ exports.executeDVD = executeDVD;
124
+ /**
125
+ * Main entry point - execute DVD and write to file
126
+ */
127
+ const createDVD = async (inputPath, outputPath, options = {}) => {
128
+ const spinner = (0, spinner_1.createSpinner)('Creating animated SVG');
129
+ try {
130
+ const script = (0, exports.loadDVDFile)(inputPath);
131
+ const output = outputPath || script.output || inputPath.replace(/\.dvd$/, '.svg');
132
+ const { svg, metadata } = await (0, exports.executeDVD)(inputPath, options);
133
+ // Write output
134
+ (0, node_fs_1.writeFileSync)(output, svg, 'utf-8');
135
+ const sizeKB = (Buffer.byteLength(svg, 'utf-8') / 1024).toFixed(2);
136
+ spinner.success(`Created ${output} (${metadata.frameCount} frames, ${(metadata.duration / 1000).toFixed(2)}s, ${sizeKB}KB)`);
137
+ if (options.verbose) {
138
+ console.log(`Animation: ${metadata.frameCount} frames @ ${metadata.fps} fps`);
139
+ console.log(`Duration: ${(metadata.duration / 1000).toFixed(2)}s`);
140
+ console.log(`File size: ${sizeKB}KB`);
141
+ }
142
+ return output;
143
+ }
144
+ catch (err) {
145
+ spinner.fail('Failed to create DVD');
146
+ if (err instanceof Error) {
147
+ console.error(err.message);
148
+ console.error(err.stack);
149
+ }
150
+ throw err;
151
+ }
152
+ };
153
+ exports.createDVD = createDVD;
154
+ //# sourceMappingURL=dvd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dvd.js","sourceRoot":"","sources":["../src/dvd.ts"],"names":[],"mappings":"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"}