loopwind 0.20.4 → 0.22.0

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 (51) hide show
  1. package/README.md +9 -2
  2. package/_dsgn/templates/dashed-stroke-test/template.tsx +73 -0
  3. package/_dsgn/templates/path-follow-test/template.tsx +176 -0
  4. package/_dsgn/templates/path-simple-test/template.tsx +98 -0
  5. package/_dsgn/templates/stroke-dash-test/meta.json +12 -0
  6. package/_dsgn/templates/stroke-dash-test/template.tsx +53 -0
  7. package/dist/cli.js +5 -3
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/render.d.ts +1 -0
  10. package/dist/commands/render.d.ts.map +1 -1
  11. package/dist/commands/render.js +1 -0
  12. package/dist/commands/render.js.map +1 -1
  13. package/dist/lib/encode-worker.d.ts +2 -0
  14. package/dist/lib/encode-worker.d.ts.map +1 -0
  15. package/dist/lib/encode-worker.js +29 -0
  16. package/dist/lib/encode-worker.js.map +1 -0
  17. package/dist/lib/mjpeg-muxer.d.ts +46 -0
  18. package/dist/lib/mjpeg-muxer.d.ts.map +1 -0
  19. package/dist/lib/mjpeg-muxer.js +513 -0
  20. package/dist/lib/mjpeg-muxer.js.map +1 -0
  21. package/dist/lib/path-helpers.d.ts +71 -0
  22. package/dist/lib/path-helpers.d.ts.map +1 -0
  23. package/dist/lib/path-helpers.js +118 -0
  24. package/dist/lib/path-helpers.js.map +1 -0
  25. package/dist/lib/renderer.d.ts.map +1 -1
  26. package/dist/lib/renderer.js +59 -4
  27. package/dist/lib/renderer.js.map +1 -1
  28. package/dist/lib/tailwind.d.ts.map +1 -1
  29. package/dist/lib/tailwind.js +71 -0
  30. package/dist/lib/tailwind.js.map +1 -1
  31. package/dist/lib/text-helpers.d.ts +52 -0
  32. package/dist/lib/text-helpers.d.ts.map +1 -0
  33. package/dist/lib/text-helpers.js +74 -0
  34. package/dist/lib/text-helpers.js.map +1 -0
  35. package/dist/lib/utils.d.ts +0 -4
  36. package/dist/lib/utils.d.ts.map +1 -1
  37. package/dist/lib/utils.js +33 -0
  38. package/dist/lib/utils.js.map +1 -1
  39. package/dist/lib/video-preview.d.ts.map +1 -1
  40. package/dist/lib/video-preview.js +28 -16
  41. package/dist/lib/video-preview.js.map +1 -1
  42. package/dist/lib/video-renderer.d.ts +19 -1
  43. package/dist/lib/video-renderer.d.ts.map +1 -1
  44. package/dist/lib/video-renderer.js +188 -65
  45. package/dist/lib/video-renderer.js.map +1 -1
  46. package/dist/types/template.d.ts +121 -0
  47. package/dist/types/template.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/website/.astro/content.db +0 -0
  50. package/website/.astro/integrations/astro_db/db.d.ts +15 -0
  51. package/website/package-lock.json +1 -1
@@ -0,0 +1,513 @@
1
+ /**
2
+ * Simple MJPEG to MP4 muxer
3
+ * Pure TypeScript, no dependencies, serverless-compatible
4
+ *
5
+ * Creates MP4 files with MJPEG video codec (each frame is a JPEG)
6
+ * Much faster than H.264 encoding since Sharp handles JPEG natively
7
+ */
8
+ export class MJPEGMuxer {
9
+ width;
10
+ height;
11
+ fps;
12
+ frames = [];
13
+ constructor(options) {
14
+ this.width = options.width;
15
+ this.height = options.height;
16
+ this.fps = options.fps;
17
+ }
18
+ addFrame(jpegBuffer) {
19
+ this.frames.push(jpegBuffer);
20
+ }
21
+ finalize() {
22
+ const frameCount = this.frames.length;
23
+ const duration = Math.floor((frameCount / this.fps) * 1000); // ms
24
+ const timescale = 1000;
25
+ // Calculate frame sizes
26
+ const frameSizes = [];
27
+ for (const frame of this.frames) {
28
+ frameSizes.push(frame.length);
29
+ }
30
+ // Build boxes
31
+ const ftyp = this.buildFtyp();
32
+ const moov = this.buildMoov(frameCount, duration, timescale, frameSizes);
33
+ const mdat = this.buildMdat();
34
+ // Calculate mdat offset (ftyp + moov + mdat header)
35
+ const mdatOffset = ftyp.length + moov.length + 8; // +8 for mdat box header
36
+ // Fix chunk offset in moov (stco box)
37
+ this.fixChunkOffset(moov, mdatOffset);
38
+ // Combine all boxes
39
+ const totalSize = ftyp.length + moov.length + mdat.length;
40
+ const result = Buffer.alloc(totalSize);
41
+ let offset = 0;
42
+ ftyp.copy(result, offset);
43
+ offset += ftyp.length;
44
+ moov.copy(result, offset);
45
+ offset += moov.length;
46
+ mdat.copy(result, offset);
47
+ return result;
48
+ }
49
+ fixChunkOffset(moov, mdatOffset) {
50
+ // Find stco box and update the offset
51
+ // stco is nested: moov > trak > mdia > minf > stbl > stco
52
+ let pos = 0;
53
+ while (pos < moov.length - 4) {
54
+ const boxType = moov.toString('ascii', pos + 4, pos + 8);
55
+ if (boxType === 'stco') {
56
+ // Found stco, update the chunk offset (last 4 bytes of the box)
57
+ const stcoSize = moov.readUInt32BE(pos);
58
+ moov.writeUInt32BE(mdatOffset, pos + stcoSize - 4);
59
+ return;
60
+ }
61
+ pos++;
62
+ }
63
+ }
64
+ buildFtyp() {
65
+ // File type box
66
+ const size = 20;
67
+ const buf = Buffer.alloc(size);
68
+ let offset = 0;
69
+ buf.writeUInt32BE(size, offset);
70
+ offset += 4;
71
+ buf.write('ftyp', offset);
72
+ offset += 4;
73
+ buf.write('isom', offset);
74
+ offset += 4; // major brand
75
+ buf.writeUInt32BE(512, offset);
76
+ offset += 4; // minor version
77
+ buf.write('isom', offset);
78
+ offset += 4; // compatible brand
79
+ return buf;
80
+ }
81
+ buildMoov(frameCount, duration, timescale, frameSizes) {
82
+ const mvhd = this.buildMvhd(duration, timescale);
83
+ const trak = this.buildTrak(frameCount, duration, timescale, frameSizes);
84
+ const moovSize = 8 + mvhd.length + trak.length;
85
+ const buf = Buffer.alloc(moovSize);
86
+ let offset = 0;
87
+ buf.writeUInt32BE(moovSize, offset);
88
+ offset += 4;
89
+ buf.write('moov', offset);
90
+ offset += 4;
91
+ mvhd.copy(buf, offset);
92
+ offset += mvhd.length;
93
+ trak.copy(buf, offset);
94
+ return buf;
95
+ }
96
+ buildMvhd(duration, timescale) {
97
+ const size = 108;
98
+ const buf = Buffer.alloc(size);
99
+ let offset = 0;
100
+ buf.writeUInt32BE(size, offset);
101
+ offset += 4;
102
+ buf.write('mvhd', offset);
103
+ offset += 4;
104
+ buf.writeUInt32BE(0, offset);
105
+ offset += 4; // version + flags
106
+ buf.writeUInt32BE(0, offset);
107
+ offset += 4; // creation time
108
+ buf.writeUInt32BE(0, offset);
109
+ offset += 4; // modification time
110
+ buf.writeUInt32BE(timescale, offset);
111
+ offset += 4; // timescale
112
+ buf.writeUInt32BE(duration, offset);
113
+ offset += 4; // duration
114
+ buf.writeUInt32BE(0x00010000, offset);
115
+ offset += 4; // rate (1.0)
116
+ buf.writeUInt16BE(0x0100, offset);
117
+ offset += 2; // volume (1.0)
118
+ buf.writeUInt16BE(0, offset);
119
+ offset += 2; // reserved
120
+ buf.writeUInt32BE(0, offset);
121
+ offset += 4; // reserved
122
+ buf.writeUInt32BE(0, offset);
123
+ offset += 4; // reserved
124
+ // Matrix (identity)
125
+ const matrix = [0x00010000, 0, 0, 0, 0x00010000, 0, 0, 0, 0x40000000];
126
+ for (const val of matrix) {
127
+ buf.writeUInt32BE(val, offset);
128
+ offset += 4;
129
+ }
130
+ // Pre-defined (6 zeros)
131
+ for (let i = 0; i < 6; i++) {
132
+ buf.writeUInt32BE(0, offset);
133
+ offset += 4;
134
+ }
135
+ buf.writeUInt32BE(2, offset); // next track ID
136
+ return buf;
137
+ }
138
+ buildTrak(frameCount, duration, timescale, frameSizes) {
139
+ const tkhd = this.buildTkhd(duration, timescale);
140
+ const mdia = this.buildMdia(frameCount, duration, timescale, frameSizes);
141
+ const trakSize = 8 + tkhd.length + mdia.length;
142
+ const buf = Buffer.alloc(trakSize);
143
+ let offset = 0;
144
+ buf.writeUInt32BE(trakSize, offset);
145
+ offset += 4;
146
+ buf.write('trak', offset);
147
+ offset += 4;
148
+ tkhd.copy(buf, offset);
149
+ offset += tkhd.length;
150
+ mdia.copy(buf, offset);
151
+ return buf;
152
+ }
153
+ buildTkhd(duration, timescale) {
154
+ const size = 92;
155
+ const buf = Buffer.alloc(size);
156
+ let offset = 0;
157
+ buf.writeUInt32BE(size, offset);
158
+ offset += 4;
159
+ buf.write('tkhd', offset);
160
+ offset += 4;
161
+ buf.writeUInt32BE(0x00000003, offset);
162
+ offset += 4; // version + flags (enabled, in movie)
163
+ buf.writeUInt32BE(0, offset);
164
+ offset += 4; // creation time
165
+ buf.writeUInt32BE(0, offset);
166
+ offset += 4; // modification time
167
+ buf.writeUInt32BE(1, offset);
168
+ offset += 4; // track ID
169
+ buf.writeUInt32BE(0, offset);
170
+ offset += 4; // reserved
171
+ buf.writeUInt32BE(duration, offset);
172
+ offset += 4; // duration
173
+ buf.writeUInt32BE(0, offset);
174
+ offset += 4; // reserved
175
+ buf.writeUInt32BE(0, offset);
176
+ offset += 4; // reserved
177
+ buf.writeUInt16BE(0, offset);
178
+ offset += 2; // layer
179
+ buf.writeUInt16BE(0, offset);
180
+ offset += 2; // alternate group
181
+ buf.writeUInt16BE(0, offset);
182
+ offset += 2; // volume
183
+ buf.writeUInt16BE(0, offset);
184
+ offset += 2; // reserved
185
+ // Matrix (identity)
186
+ const matrix = [0x00010000, 0, 0, 0, 0x00010000, 0, 0, 0, 0x40000000];
187
+ for (const val of matrix) {
188
+ buf.writeUInt32BE(val, offset);
189
+ offset += 4;
190
+ }
191
+ buf.writeUInt32BE(this.width << 16, offset);
192
+ offset += 4; // width (fixed point)
193
+ buf.writeUInt32BE(this.height << 16, offset); // height (fixed point)
194
+ return buf;
195
+ }
196
+ buildMdia(frameCount, duration, timescale, frameSizes) {
197
+ const mdhd = this.buildMdhd(duration, timescale);
198
+ const hdlr = this.buildHdlr();
199
+ const minf = this.buildMinf(frameCount, frameSizes);
200
+ const mdiaSize = 8 + mdhd.length + hdlr.length + minf.length;
201
+ const buf = Buffer.alloc(mdiaSize);
202
+ let offset = 0;
203
+ buf.writeUInt32BE(mdiaSize, offset);
204
+ offset += 4;
205
+ buf.write('mdia', offset);
206
+ offset += 4;
207
+ mdhd.copy(buf, offset);
208
+ offset += mdhd.length;
209
+ hdlr.copy(buf, offset);
210
+ offset += hdlr.length;
211
+ minf.copy(buf, offset);
212
+ return buf;
213
+ }
214
+ buildMdhd(duration, timescale) {
215
+ const size = 32;
216
+ const buf = Buffer.alloc(size);
217
+ let offset = 0;
218
+ buf.writeUInt32BE(size, offset);
219
+ offset += 4;
220
+ buf.write('mdhd', offset);
221
+ offset += 4;
222
+ buf.writeUInt32BE(0, offset);
223
+ offset += 4; // version + flags
224
+ buf.writeUInt32BE(0, offset);
225
+ offset += 4; // creation time
226
+ buf.writeUInt32BE(0, offset);
227
+ offset += 4; // modification time
228
+ buf.writeUInt32BE(timescale, offset);
229
+ offset += 4; // timescale
230
+ buf.writeUInt32BE(duration, offset);
231
+ offset += 4; // duration
232
+ buf.writeUInt16BE(0x55C4, offset);
233
+ offset += 2; // language (und)
234
+ buf.writeUInt16BE(0, offset); // quality
235
+ return buf;
236
+ }
237
+ buildHdlr() {
238
+ const size = 37;
239
+ const buf = Buffer.alloc(size);
240
+ let offset = 0;
241
+ buf.writeUInt32BE(size, offset);
242
+ offset += 4;
243
+ buf.write('hdlr', offset);
244
+ offset += 4;
245
+ buf.writeUInt32BE(0, offset);
246
+ offset += 4; // version + flags
247
+ buf.writeUInt32BE(0, offset);
248
+ offset += 4; // pre-defined
249
+ buf.write('vide', offset);
250
+ offset += 4; // handler type
251
+ buf.writeUInt32BE(0, offset);
252
+ offset += 4; // reserved
253
+ buf.writeUInt32BE(0, offset);
254
+ offset += 4; // reserved
255
+ buf.writeUInt32BE(0, offset);
256
+ offset += 4; // reserved
257
+ buf.writeUInt8(0, offset); // name (null-terminated)
258
+ return buf;
259
+ }
260
+ buildMinf(frameCount, frameSizes) {
261
+ const vmhd = this.buildVmhd();
262
+ const dinf = this.buildDinf();
263
+ const stbl = this.buildStbl(frameCount, frameSizes);
264
+ const minfSize = 8 + vmhd.length + dinf.length + stbl.length;
265
+ const buf = Buffer.alloc(minfSize);
266
+ let offset = 0;
267
+ buf.writeUInt32BE(minfSize, offset);
268
+ offset += 4;
269
+ buf.write('minf', offset);
270
+ offset += 4;
271
+ vmhd.copy(buf, offset);
272
+ offset += vmhd.length;
273
+ dinf.copy(buf, offset);
274
+ offset += dinf.length;
275
+ stbl.copy(buf, offset);
276
+ return buf;
277
+ }
278
+ buildVmhd() {
279
+ const size = 20;
280
+ const buf = Buffer.alloc(size);
281
+ let offset = 0;
282
+ buf.writeUInt32BE(size, offset);
283
+ offset += 4;
284
+ buf.write('vmhd', offset);
285
+ offset += 4;
286
+ buf.writeUInt32BE(1, offset);
287
+ offset += 4; // version + flags
288
+ buf.writeUInt16BE(0, offset);
289
+ offset += 2; // graphics mode
290
+ buf.writeUInt16BE(0, offset);
291
+ offset += 2; // opcolor
292
+ buf.writeUInt16BE(0, offset);
293
+ offset += 2;
294
+ buf.writeUInt16BE(0, offset);
295
+ return buf;
296
+ }
297
+ buildDinf() {
298
+ // Data Information Box with Data Reference
299
+ const drefSize = 28;
300
+ const dinfSize = 8 + drefSize;
301
+ const buf = Buffer.alloc(dinfSize);
302
+ let offset = 0;
303
+ buf.writeUInt32BE(dinfSize, offset);
304
+ offset += 4;
305
+ buf.write('dinf', offset);
306
+ offset += 4;
307
+ // dref
308
+ buf.writeUInt32BE(drefSize, offset);
309
+ offset += 4;
310
+ buf.write('dref', offset);
311
+ offset += 4;
312
+ buf.writeUInt32BE(0, offset);
313
+ offset += 4; // version + flags
314
+ buf.writeUInt32BE(1, offset);
315
+ offset += 4; // entry count
316
+ // url entry
317
+ buf.writeUInt32BE(12, offset);
318
+ offset += 4;
319
+ buf.write('url ', offset);
320
+ offset += 4;
321
+ buf.writeUInt32BE(1, offset); // flags (self-contained)
322
+ return buf;
323
+ }
324
+ buildStbl(frameCount, frameSizes) {
325
+ const stsd = this.buildStsd();
326
+ const stts = this.buildStts(frameCount);
327
+ const stsc = this.buildStsc(frameCount);
328
+ const stsz = this.buildStsz(frameSizes);
329
+ const stco = this.buildStco(frameSizes);
330
+ const stblSize = 8 + stsd.length + stts.length + stsc.length + stsz.length + stco.length;
331
+ const buf = Buffer.alloc(stblSize);
332
+ let offset = 0;
333
+ buf.writeUInt32BE(stblSize, offset);
334
+ offset += 4;
335
+ buf.write('stbl', offset);
336
+ offset += 4;
337
+ stsd.copy(buf, offset);
338
+ offset += stsd.length;
339
+ stts.copy(buf, offset);
340
+ offset += stts.length;
341
+ stsc.copy(buf, offset);
342
+ offset += stsc.length;
343
+ stsz.copy(buf, offset);
344
+ offset += stsz.length;
345
+ stco.copy(buf, offset);
346
+ return buf;
347
+ }
348
+ buildStsd() {
349
+ // Sample Description Box for MJPEG
350
+ const mjpegEntrySize = 86;
351
+ const size = 16 + mjpegEntrySize;
352
+ const buf = Buffer.alloc(size);
353
+ let offset = 0;
354
+ buf.writeUInt32BE(size, offset);
355
+ offset += 4;
356
+ buf.write('stsd', offset);
357
+ offset += 4;
358
+ buf.writeUInt32BE(0, offset);
359
+ offset += 4; // version + flags
360
+ buf.writeUInt32BE(1, offset);
361
+ offset += 4; // entry count
362
+ // MJPEG sample entry
363
+ buf.writeUInt32BE(mjpegEntrySize, offset);
364
+ offset += 4;
365
+ buf.write('jpeg', offset);
366
+ offset += 4; // MJPEG codec
367
+ buf.writeUInt32BE(0, offset);
368
+ offset += 4; // reserved
369
+ buf.writeUInt16BE(0, offset);
370
+ offset += 2; // reserved
371
+ buf.writeUInt16BE(1, offset);
372
+ offset += 2; // data reference index
373
+ buf.writeUInt16BE(0, offset);
374
+ offset += 2; // version
375
+ buf.writeUInt16BE(0, offset);
376
+ offset += 2; // revision
377
+ buf.writeUInt32BE(0, offset);
378
+ offset += 4; // vendor
379
+ buf.writeUInt32BE(0, offset);
380
+ offset += 4; // temporal quality
381
+ buf.writeUInt32BE(0, offset);
382
+ offset += 4; // spatial quality
383
+ buf.writeUInt16BE(this.width, offset);
384
+ offset += 2;
385
+ buf.writeUInt16BE(this.height, offset);
386
+ offset += 2;
387
+ buf.writeUInt32BE(0x00480000, offset);
388
+ offset += 4; // horiz resolution (72 dpi)
389
+ buf.writeUInt32BE(0x00480000, offset);
390
+ offset += 4; // vert resolution (72 dpi)
391
+ buf.writeUInt32BE(0, offset);
392
+ offset += 4; // data size
393
+ buf.writeUInt16BE(1, offset);
394
+ offset += 2; // frame count
395
+ // Compressor name (32 bytes, pascal string)
396
+ buf.writeUInt8(4, offset);
397
+ offset += 1;
398
+ buf.write('jpeg', offset);
399
+ offset += 4;
400
+ offset += 27; // padding
401
+ buf.writeUInt16BE(24, offset);
402
+ offset += 2; // depth
403
+ buf.writeInt16BE(-1, offset); // color table ID
404
+ return buf;
405
+ }
406
+ buildStts(frameCount) {
407
+ // Time-to-Sample Box
408
+ const size = 24;
409
+ const buf = Buffer.alloc(size);
410
+ let offset = 0;
411
+ buf.writeUInt32BE(size, offset);
412
+ offset += 4;
413
+ buf.write('stts', offset);
414
+ offset += 4;
415
+ buf.writeUInt32BE(0, offset);
416
+ offset += 4; // version + flags
417
+ buf.writeUInt32BE(1, offset);
418
+ offset += 4; // entry count
419
+ buf.writeUInt32BE(frameCount, offset);
420
+ offset += 4; // sample count
421
+ buf.writeUInt32BE(Math.round(1000 / this.fps), offset); // sample delta (duration per frame in timescale units)
422
+ return buf;
423
+ }
424
+ buildStsc(frameCount) {
425
+ // Sample-to-Chunk Box (all samples in one chunk)
426
+ const size = 28;
427
+ const buf = Buffer.alloc(size);
428
+ let offset = 0;
429
+ buf.writeUInt32BE(size, offset);
430
+ offset += 4;
431
+ buf.write('stsc', offset);
432
+ offset += 4;
433
+ buf.writeUInt32BE(0, offset);
434
+ offset += 4; // version + flags
435
+ buf.writeUInt32BE(1, offset);
436
+ offset += 4; // entry count
437
+ buf.writeUInt32BE(1, offset);
438
+ offset += 4; // first chunk
439
+ buf.writeUInt32BE(frameCount, offset);
440
+ offset += 4; // samples per chunk
441
+ buf.writeUInt32BE(1, offset); // sample description index
442
+ return buf;
443
+ }
444
+ buildStsz(frameSizes) {
445
+ // Sample Size Box
446
+ const size = 20 + frameSizes.length * 4;
447
+ const buf = Buffer.alloc(size);
448
+ let offset = 0;
449
+ buf.writeUInt32BE(size, offset);
450
+ offset += 4;
451
+ buf.write('stsz', offset);
452
+ offset += 4;
453
+ buf.writeUInt32BE(0, offset);
454
+ offset += 4; // version + flags
455
+ buf.writeUInt32BE(0, offset);
456
+ offset += 4; // sample size (0 = variable)
457
+ buf.writeUInt32BE(frameSizes.length, offset);
458
+ offset += 4; // sample count
459
+ for (const frameSize of frameSizes) {
460
+ buf.writeUInt32BE(frameSize, offset);
461
+ offset += 4;
462
+ }
463
+ return buf;
464
+ }
465
+ buildStco(frameSizes) {
466
+ // Chunk Offset Box (32-bit)
467
+ // size(4) + type(4) + version/flags(4) + entry_count(4) + offset(4) = 20
468
+ const size = 20;
469
+ const buf = Buffer.alloc(size);
470
+ let offset = 0;
471
+ buf.writeUInt32BE(size, offset);
472
+ offset += 4;
473
+ buf.write('stco', offset);
474
+ offset += 4;
475
+ buf.writeUInt32BE(0, offset);
476
+ offset += 4; // version + flags
477
+ buf.writeUInt32BE(1, offset);
478
+ offset += 4; // entry count
479
+ // Offset will be updated after we know moov size
480
+ buf.writeUInt32BE(0, offset); // placeholder
481
+ return buf;
482
+ }
483
+ buildMdat() {
484
+ // Calculate total size
485
+ let totalDataSize = 0;
486
+ for (const frame of this.frames) {
487
+ totalDataSize += frame.length;
488
+ }
489
+ const mdatSize = 8 + totalDataSize;
490
+ const buf = Buffer.alloc(mdatSize);
491
+ let offset = 0;
492
+ buf.writeUInt32BE(mdatSize, offset);
493
+ offset += 4;
494
+ buf.write('mdat', offset);
495
+ offset += 4;
496
+ for (const frame of this.frames) {
497
+ frame.copy(buf, offset);
498
+ offset += frame.length;
499
+ }
500
+ return buf;
501
+ }
502
+ }
503
+ /**
504
+ * Create MJPEG MP4 from JPEG buffers
505
+ */
506
+ export function createMJPEGVideo(jpegFrames, options) {
507
+ const muxer = new MJPEGMuxer(options);
508
+ for (const frame of jpegFrames) {
509
+ muxer.addFrame(frame);
510
+ }
511
+ return muxer.finalize();
512
+ }
513
+ //# sourceMappingURL=mjpeg-muxer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mjpeg-muxer.js","sourceRoot":"","sources":["../../src/lib/mjpeg-muxer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Path following helpers for video animations
3
+ * Returns position and rotation angle for elements following SVG paths
4
+ */
5
+ export interface PathPoint {
6
+ x: number;
7
+ y: number;
8
+ angle: number;
9
+ }
10
+ export interface Point {
11
+ x: number;
12
+ y: number;
13
+ }
14
+ /**
15
+ * Follow a straight line from p0 to p1
16
+ * @param p0 Start point
17
+ * @param p1 End point
18
+ * @param t Progress (0-1)
19
+ * @returns Position and angle
20
+ */
21
+ export declare function followLine(p0: Point, p1: Point, t: number): PathPoint;
22
+ /**
23
+ * Follow a quadratic Bezier curve
24
+ * @param p0 Start point
25
+ * @param p1 Control point
26
+ * @param p2 End point
27
+ * @param t Progress (0-1)
28
+ * @returns Position and angle
29
+ */
30
+ export declare function followQuadratic(p0: Point, p1: Point, p2: Point, t: number): PathPoint;
31
+ /**
32
+ * Follow a cubic Bezier curve
33
+ * @param p0 Start point
34
+ * @param p1 First control point
35
+ * @param p2 Second control point
36
+ * @param p3 End point
37
+ * @param t Progress (0-1)
38
+ * @returns Position and angle
39
+ */
40
+ export declare function followCubic(p0: Point, p1: Point, p2: Point, p3: Point, t: number): PathPoint;
41
+ /**
42
+ * Follow a circular path
43
+ * @param cx Center x
44
+ * @param cy Center y
45
+ * @param radius Circle radius
46
+ * @param t Progress (0-1, completes one full rotation)
47
+ * @returns Position and angle
48
+ */
49
+ export declare function followCircle(cx: number, cy: number, radius: number, t: number): PathPoint;
50
+ /**
51
+ * Follow an elliptical path
52
+ * @param cx Center x
53
+ * @param cy Center y
54
+ * @param rx Horizontal radius
55
+ * @param ry Vertical radius
56
+ * @param t Progress (0-1, completes one full rotation)
57
+ * @returns Position and angle
58
+ */
59
+ export declare function followEllipse(cx: number, cy: number, rx: number, ry: number, t: number): PathPoint;
60
+ /**
61
+ * Follow an arc (portion of a circle)
62
+ * @param cx Center x
63
+ * @param cy Center y
64
+ * @param radius Circle radius
65
+ * @param startAngle Starting angle in degrees
66
+ * @param endAngle Ending angle in degrees
67
+ * @param t Progress (0-1)
68
+ * @returns Position and angle
69
+ */
70
+ export declare function followArc(cx: number, cy: number, radius: number, startAngle: number, endAngle: number, t: number): PathPoint;
71
+ //# sourceMappingURL=path-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/path-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAMrE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAerF;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAiB5F;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CASzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAWlG;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,GACR,SAAS,CAYX"}