@argo-video/cli 0.24.0 → 0.25.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.
- package/README.md +49 -1
- package/dist/camera-move.d.ts +14 -0
- package/dist/camera-move.d.ts.map +1 -1
- package/dist/camera-move.js +44 -0
- package/dist/camera-move.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +41 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/export.d.ts +13 -1
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +50 -1
- package/dist/export.js.map +1 -1
- package/dist/frame.d.ts +35 -0
- package/dist/frame.d.ts.map +1 -0
- package/dist/frame.js +182 -0
- package/dist/frame.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/media.d.ts +14 -0
- package/dist/media.d.ts.map +1 -1
- package/dist/media.js +86 -0
- package/dist/media.js.map +1 -1
- package/dist/overlays/templates.d.ts.map +1 -1
- package/dist/overlays/templates.js +32 -0
- package/dist/overlays/templates.js.map +1 -1
- package/dist/overlays/types.d.ts +22 -2
- package/dist/overlays/types.d.ts.map +1 -1
- package/dist/overlays/types.js +5 -0
- package/dist/overlays/types.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +20 -3
- package/dist/pipeline.js.map +1 -1
- package/dist/preview.d.ts +7 -0
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +12 -1
- package/dist/preview.js.map +1 -1
- package/dist/speed-ramp.d.ts +7 -2
- package/dist/speed-ramp.d.ts.map +1 -1
- package/dist/speed-ramp.js +30 -10
- package/dist/speed-ramp.js.map +1 -1
- package/package.json +1 -1
package/dist/frame.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frame + Background filters for the "Screen Studio" look.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the recording in a styled frame with padding, rounded corners,
|
|
5
|
+
* drop shadow, and a configurable background (solid color, gradient, or image).
|
|
6
|
+
*
|
|
7
|
+
* FFmpeg filter chain:
|
|
8
|
+
* 1. Scale video down to fit within padded area
|
|
9
|
+
* 2. Apply rounded corners via alpha mask (geq)
|
|
10
|
+
* 3. Create shadow layer (colorize black + blur)
|
|
11
|
+
* 4. Create background (color source or input image)
|
|
12
|
+
* 5. Composite: background → shadow → rounded video
|
|
13
|
+
*/
|
|
14
|
+
import type { FrameConfig } from './config.js';
|
|
15
|
+
export interface FrameFilterResult {
|
|
16
|
+
/** Filter expressions to add to filter_complex. */
|
|
17
|
+
filterParts: string[];
|
|
18
|
+
/** Additional ffmpeg input args (e.g., for background image). */
|
|
19
|
+
inputArgs: string[];
|
|
20
|
+
/** The output label for the framed video stream. */
|
|
21
|
+
videoSource: string;
|
|
22
|
+
/** Number of additional inputs added. */
|
|
23
|
+
addedInputs: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build the ffmpeg filter_complex parts for the frame effect.
|
|
27
|
+
*
|
|
28
|
+
* @param videoSource - Current video stream label (e.g., '0:v' or 'camfinal')
|
|
29
|
+
* @param outputWidth - Full output width in pixels
|
|
30
|
+
* @param outputHeight - Full output height in pixels
|
|
31
|
+
* @param config - Frame configuration
|
|
32
|
+
* @param nextInputIdx - Next available input index (for background image)
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildFrameFilter(videoSource: string, outputWidth: number, outputHeight: number, config: FrameConfig, nextInputIdx: number): FrameFilterResult | null;
|
|
35
|
+
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iEAAiE;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;CACrB;AAgDD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,MAAM,GACnB,iBAAiB,GAAG,IAAI,CA6I1B"}
|
package/dist/frame.js
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frame + Background filters for the "Screen Studio" look.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the recording in a styled frame with padding, rounded corners,
|
|
5
|
+
* drop shadow, and a configurable background (solid color, gradient, or image).
|
|
6
|
+
*
|
|
7
|
+
* FFmpeg filter chain:
|
|
8
|
+
* 1. Scale video down to fit within padded area
|
|
9
|
+
* 2. Apply rounded corners via alpha mask (geq)
|
|
10
|
+
* 3. Create shadow layer (colorize black + blur)
|
|
11
|
+
* 4. Create background (color source or input image)
|
|
12
|
+
* 5. Composite: background → shadow → rounded video
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Parse a hex color string to r, g, b values (0-255).
|
|
16
|
+
*/
|
|
17
|
+
function parseHexColor(hex) {
|
|
18
|
+
let h = hex.replace('#', '');
|
|
19
|
+
if (h.length === 3)
|
|
20
|
+
h = h[0] + h[0] + h[1] + h[1] + h[2] + h[2];
|
|
21
|
+
return {
|
|
22
|
+
r: parseInt(h.slice(0, 2), 16),
|
|
23
|
+
g: parseInt(h.slice(2, 4), 16),
|
|
24
|
+
b: parseInt(h.slice(4, 6), 16),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Parse a CSS linear-gradient string to extract ffmpeg-compatible gradient info.
|
|
29
|
+
* Supports: linear-gradient(angle, color1, color2)
|
|
30
|
+
* Returns a simple two-stop gradient for ffmpeg gradients filter.
|
|
31
|
+
*/
|
|
32
|
+
function parseGradient(value) {
|
|
33
|
+
const match = value.match(/linear-gradient\(\s*(\d+)deg\s*,\s*(#[0-9a-fA-F]{3,8})\s*,\s*(#[0-9a-fA-F]{3,8})\s*\)/);
|
|
34
|
+
if (!match)
|
|
35
|
+
return null;
|
|
36
|
+
return {
|
|
37
|
+
angle: parseInt(match[1], 10),
|
|
38
|
+
color0: match[2],
|
|
39
|
+
color1: match[3],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Build a rounded-rectangle alpha expression for ffmpeg geq.
|
|
44
|
+
*
|
|
45
|
+
* Straight edges remain fully opaque; only the corner quadrants get
|
|
46
|
+
* anti-aliased falloff. This avoids the "background leaking along the whole
|
|
47
|
+
* edge" artifact caused by treating every edge strip like a corner.
|
|
48
|
+
*/
|
|
49
|
+
function buildRoundedCornerAlphaExpr(radius) {
|
|
50
|
+
const dx = `if(lt(X,${radius}),${radius}-X,` +
|
|
51
|
+
`if(gt(X,W-1-${radius}),X-(W-1-${radius}),0))`;
|
|
52
|
+
const dy = `if(lt(Y,${radius}),${radius}-Y,` +
|
|
53
|
+
`if(gt(Y,H-1-${radius}),Y-(H-1-${radius}),0))`;
|
|
54
|
+
return `if(lte(min(${dx},${dy}),0),255,clip(255*(${radius}+1-hypot(${dx},${dy})),0,255))`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Build the ffmpeg filter_complex parts for the frame effect.
|
|
58
|
+
*
|
|
59
|
+
* @param videoSource - Current video stream label (e.g., '0:v' or 'camfinal')
|
|
60
|
+
* @param outputWidth - Full output width in pixels
|
|
61
|
+
* @param outputHeight - Full output height in pixels
|
|
62
|
+
* @param config - Frame configuration
|
|
63
|
+
* @param nextInputIdx - Next available input index (for background image)
|
|
64
|
+
*/
|
|
65
|
+
export function buildFrameFilter(videoSource, outputWidth, outputHeight, config, nextInputIdx) {
|
|
66
|
+
const padding = config.padding ?? 40;
|
|
67
|
+
const borderRadius = config.borderRadius ?? 12;
|
|
68
|
+
const shadowIntensity = config.shadow ?? 0.5;
|
|
69
|
+
const shadowColor = config.shadowColor ?? '#000000';
|
|
70
|
+
const background = config.background?.type === 'auto'
|
|
71
|
+
? { type: 'solid', value: '#000000' } // 'auto' should be resolved before reaching here
|
|
72
|
+
: config.background ?? { type: 'solid', value: '#000000' };
|
|
73
|
+
if (padding <= 0)
|
|
74
|
+
return null;
|
|
75
|
+
const innerW = outputWidth - 2 * padding;
|
|
76
|
+
const innerH = outputHeight - 2 * padding;
|
|
77
|
+
if (innerW <= 0 || innerH <= 0)
|
|
78
|
+
return null;
|
|
79
|
+
// Ensure even dimensions
|
|
80
|
+
const evenInnerW = innerW % 2 === 0 ? innerW : innerW - 1;
|
|
81
|
+
const evenInnerH = innerH % 2 === 0 ? innerH : innerH - 1;
|
|
82
|
+
const filterParts = [];
|
|
83
|
+
const inputArgs = [];
|
|
84
|
+
let addedInputs = 0;
|
|
85
|
+
const srcRef = videoSource.includes(':') ? `[${videoSource}]` : `[${videoSource}]`;
|
|
86
|
+
// Step 1: Scale video to fit within the padded area, preserving aspect ratio.
|
|
87
|
+
// Do NOT pad here: equal X/Y padding changes the inner aspect ratio and creates
|
|
88
|
+
// black bars for normal 16:9 recordings. We center the scaled stream later.
|
|
89
|
+
filterParts.push(`${srcRef}scale=${evenInnerW}:${evenInnerH}:flags=lanczos:` +
|
|
90
|
+
`force_original_aspect_ratio=decrease:force_divisible_by=2[frm_scaled]`);
|
|
91
|
+
// Step 2: Apply rounded corners if borderRadius > 0
|
|
92
|
+
if (borderRadius > 0) {
|
|
93
|
+
const r = Math.min(borderRadius, Math.floor(evenInnerW / 2), Math.floor(evenInnerH / 2));
|
|
94
|
+
const alphaExpr = buildRoundedCornerAlphaExpr(r);
|
|
95
|
+
// Rounded-corner alpha mask on yuva format.
|
|
96
|
+
// Keep straight edges fully opaque and anti-alias only the corner arcs.
|
|
97
|
+
filterParts.push(`[frm_scaled]format=yuva444p,` +
|
|
98
|
+
`geq=` +
|
|
99
|
+
`lum='lum(X,Y)':` +
|
|
100
|
+
`cb='cb(X,Y)':` +
|
|
101
|
+
`cr='cr(X,Y)':` +
|
|
102
|
+
`a='${alphaExpr}'[frm_rounded]`);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
filterParts.push(`[frm_scaled]format=yuva444p[frm_rounded]`);
|
|
106
|
+
}
|
|
107
|
+
// Step 3: Create background
|
|
108
|
+
let bgLabel;
|
|
109
|
+
if (background.type === 'image') {
|
|
110
|
+
// Background image input
|
|
111
|
+
inputArgs.push('-i', background.value ?? 'black');
|
|
112
|
+
const bgIdx = nextInputIdx + addedInputs;
|
|
113
|
+
addedInputs++;
|
|
114
|
+
filterParts.push(`[${bgIdx}:v]scale=${outputWidth}:${outputHeight}:flags=lanczos,setsar=1[frm_bg]`);
|
|
115
|
+
bgLabel = 'frm_bg';
|
|
116
|
+
}
|
|
117
|
+
else if (background.type === 'gradient') {
|
|
118
|
+
const grad = parseGradient(background.value ?? '');
|
|
119
|
+
if (grad) {
|
|
120
|
+
// ffmpeg gradients filter: creates a two-color gradient
|
|
121
|
+
// Convert angle to ffmpeg x0,y0,x1,y1 direction
|
|
122
|
+
const { color0, color1, angle } = grad;
|
|
123
|
+
const rad = (angle * Math.PI) / 180;
|
|
124
|
+
// Clamp gradient endpoints to valid pixel range (gradients filter rejects negatives)
|
|
125
|
+
const clampX = (v) => Math.max(0, Math.min(outputWidth, Math.round(v)));
|
|
126
|
+
const clampY = (v) => Math.max(0, Math.min(outputHeight, Math.round(v)));
|
|
127
|
+
const x0 = clampX(outputWidth / 2 - Math.sin(rad) * outputWidth / 2);
|
|
128
|
+
const y0 = clampY(outputHeight / 2 - Math.cos(rad) * outputHeight / 2);
|
|
129
|
+
const x1 = clampX(outputWidth / 2 + Math.sin(rad) * outputWidth / 2);
|
|
130
|
+
const y1 = clampY(outputHeight / 2 + Math.cos(rad) * outputHeight / 2);
|
|
131
|
+
// Generate one frame and loop infinitely so background covers full video duration
|
|
132
|
+
filterParts.push(`gradients=s=${outputWidth}x${outputHeight}:` +
|
|
133
|
+
`c0=${color0}:c1=${color1}:` +
|
|
134
|
+
`x0=${x0}:y0=${y0}:x1=${x1}:y1=${y1}:` +
|
|
135
|
+
`duration=1:speed=0,loop=-1:1:0[frm_bg]`);
|
|
136
|
+
bgLabel = 'frm_bg';
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// Fallback: parse first color from gradient string or use black
|
|
140
|
+
const colorMatch = (background.value ?? '').match(/#[0-9a-fA-F]{3,8}/);
|
|
141
|
+
const fallbackColor = colorMatch ? colorMatch[0] : '#000000';
|
|
142
|
+
filterParts.push(`color=c=${fallbackColor}:s=${outputWidth}x${outputHeight}:d=1,loop=-1:1:0[frm_bg]`);
|
|
143
|
+
bgLabel = 'frm_bg';
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
// Solid color — generate one frame and loop so overlay has infinite duration
|
|
148
|
+
filterParts.push(`color=c=${background.value ?? '#000000'}:s=${outputWidth}x${outputHeight}:d=1,loop=-1:1:0[frm_bg]`);
|
|
149
|
+
bgLabel = 'frm_bg';
|
|
150
|
+
}
|
|
151
|
+
// Step 4: Create shadow (if enabled)
|
|
152
|
+
if (shadowIntensity > 0) {
|
|
153
|
+
const { r, g, b } = parseHexColor(shadowColor);
|
|
154
|
+
const shadowAlpha = Math.min(1, shadowIntensity);
|
|
155
|
+
const blurRadius = Math.max(8, Math.round(padding * 0.5));
|
|
156
|
+
const shadowInset = Math.max(2, Math.round(borderRadius * 0.3));
|
|
157
|
+
// Create shadow: scale down slightly so blur doesn't bleed past rounded corners,
|
|
158
|
+
// then colorize to shadow color, apply alpha, blur.
|
|
159
|
+
filterParts.push(`[frm_rounded]split[frm_fg][frm_shadow_src]`);
|
|
160
|
+
filterParts.push(`[frm_shadow_src]scale=iw-${shadowInset * 2}:ih-${shadowInset * 2}:flags=fast_bilinear,` +
|
|
161
|
+
`colorchannelmixer=` +
|
|
162
|
+
`rr=0:rg=0:rb=0:ra=0:` +
|
|
163
|
+
`gr=0:gg=0:gb=0:ga=0:` +
|
|
164
|
+
`br=0:bg=0:bb=0:ba=0:` +
|
|
165
|
+
`ar=${(r / 255 * shadowAlpha).toFixed(3)}:ag=${(g / 255 * shadowAlpha).toFixed(3)}:ab=${(b / 255 * shadowAlpha).toFixed(3)}:aa=${shadowAlpha.toFixed(3)},` +
|
|
166
|
+
`boxblur=${blurRadius}:${Math.max(2, Math.round(blurRadius / 2))}[frm_shadow]`);
|
|
167
|
+
// Composite: background → centered shadow (slightly smaller) → video
|
|
168
|
+
filterParts.push(`[${bgLabel}][frm_shadow]overlay=(W-w)/2:(H-h)/2+${Math.round(blurRadius * 0.15)}:format=auto:shortest=1[frm_bg_shadow]`);
|
|
169
|
+
filterParts.push(`[frm_bg_shadow][frm_fg]overlay=(W-w)/2:(H-h)/2:format=auto:shortest=1[frm_out]`);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
// No shadow — composite directly on background
|
|
173
|
+
filterParts.push(`[${bgLabel}][frm_rounded]overlay=(W-w)/2:(H-h)/2:format=auto:shortest=1[frm_out]`);
|
|
174
|
+
}
|
|
175
|
+
return {
|
|
176
|
+
filterParts,
|
|
177
|
+
inputArgs,
|
|
178
|
+
videoSource: 'frm_out',
|
|
179
|
+
addedInputs,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH;;GAEG;AACH,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO;QACL,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9B,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9B,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAC;IACnH,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,EAAE,GACN,WAAW,MAAM,KAAK,MAAM,KAAK;QACjC,eAAe,MAAM,YAAY,MAAM,OAAO,CAAC;IACjD,MAAM,EAAE,GACN,WAAW,MAAM,KAAK,MAAM,KAAK;QACjC,eAAe,MAAM,YAAY,MAAM,OAAO,CAAC;IAEjD,OAAO,cAAc,EAAE,IAAI,EAAE,sBAAsB,MAAM,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC;AAC5F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,WAAmB,EACnB,YAAoB,EACpB,MAAmB,EACnB,YAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,KAAK,MAAM;QACnD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAE,iDAAiD;QACjG,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAEtE,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,MAAM,GAAG,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC;IACzC,MAAM,MAAM,GAAG,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC;IAC1C,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,yBAAyB;IACzB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC;IAEnF,8EAA8E;IAC9E,gFAAgF;IAChF,4EAA4E;IAC5E,WAAW,CAAC,IAAI,CACd,GAAG,MAAM,SAAS,UAAU,IAAI,UAAU,iBAAiB;QAC3D,uEAAuE,CACxE,CAAC;IAEF,oDAAoD;IACpD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACjD,4CAA4C;QAC5C,wEAAwE;QACxE,WAAW,CAAC,IAAI,CACd,8BAA8B;YAC9B,MAAM;YACN,iBAAiB;YACjB,eAAe;YACf,eAAe;YACf,MAAM,SAAS,gBAAgB,CAChC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC/D,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAe,CAAC;IACpB,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAChC,yBAAyB;QACzB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC;QACzC,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,IAAI,CACd,IAAI,KAAK,YAAY,WAAW,IAAI,YAAY,iCAAiC,CAClF,CAAC;QACF,OAAO,GAAG,QAAQ,CAAC;IACrB,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC;YACT,wDAAwD;YACxD,gDAAgD;YAChD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvC,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YACpC,qFAAqF;YACrF,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;YACrE,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC;YACvE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;YACrE,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC;YACvE,kFAAkF;YAClF,WAAW,CAAC,IAAI,CACd,eAAe,WAAW,IAAI,YAAY,GAAG;gBAC7C,MAAM,MAAM,OAAO,MAAM,GAAG;gBAC5B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG;gBACtC,wCAAwC,CACzC,CAAC;YACF,OAAO,GAAG,QAAQ,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,WAAW,CAAC,IAAI,CACd,WAAW,aAAa,MAAM,WAAW,IAAI,YAAY,0BAA0B,CACpF,CAAC;YACF,OAAO,GAAG,QAAQ,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,WAAW,CAAC,IAAI,CACd,WAAW,UAAU,CAAC,KAAK,IAAI,SAAS,MAAM,WAAW,IAAI,YAAY,0BAA0B,CACpG,CAAC;QACF,OAAO,GAAG,QAAQ,CAAC;IACrB,CAAC;IAED,qCAAqC;IACrC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;QAChE,iFAAiF;QACjF,oDAAoD;QACpD,WAAW,CAAC,IAAI,CACd,4CAA4C,CAC7C,CAAC;QACF,WAAW,CAAC,IAAI,CACd,4BAA4B,WAAW,GAAG,CAAC,OAAO,WAAW,GAAG,CAAC,uBAAuB;YACxF,oBAAoB;YACpB,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB;YACtB,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAC1J,WAAW,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,cAAc,CAC/E,CAAC;QAEF,qEAAqE;QACrE,WAAW,CAAC,IAAI,CACd,IAAI,OAAO,wCAAwC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,wCAAwC,CACzH,CAAC;QACF,WAAW,CAAC,IAAI,CACd,gFAAgF,CACjF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,WAAW,CAAC,IAAI,CACd,IAAI,OAAO,uEAAuE,CACnF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW;QACX,SAAS;QACT,WAAW,EAAE,SAAS;QACtB,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { defineConfig, loadConfig, demosProject, type ArgoConfig, type UserConfig, type TTSConfig, type TTSEngine, type VideoConfig, type ExportConfig, type TransitionType, type TransitionConfig, type SpeedRampConfig, type VariantConfig, type AudioConfig, type WatermarkConfig, } from './config.js';
|
|
1
|
+
export { defineConfig, loadConfig, demosProject, type ArgoConfig, type UserConfig, type TTSConfig, type TTSEngine, type VideoConfig, type ExportConfig, type TransitionType, type TransitionConfig, type SpeedRampConfig, type VariantConfig, type AudioConfig, type WatermarkConfig, type FrameConfig, type BackgroundConfig, type BackgroundType, } from './config.js';
|
|
2
2
|
export { test, expect, demoType } from './fixtures.js';
|
|
3
3
|
export { NarrationTimeline, type SceneDurationOptions } from './narration.js';
|
|
4
4
|
export { showCaption, hideCaption, withCaption } from './captions.js';
|
|
@@ -16,9 +16,10 @@ export { validateDemo, type ValidateOptions, type ValidateResult } from './valid
|
|
|
16
16
|
export { runDoctor, formatDoctorResults } from './doctor.js';
|
|
17
17
|
export { runPipeline, runBatchPipeline, discoverDemos, type PipelineOptions } from './pipeline.js';
|
|
18
18
|
export { buildTransitionFilters } from './transitions.js';
|
|
19
|
-
export { computeSegments, applySpeedRamp } from './speed-ramp.js';
|
|
19
|
+
export { computeSegments, applySpeedRamp, type SceneSpeedMap } from './speed-ramp.js';
|
|
20
20
|
export { buildFreezeFilter, resolveFreezes, adjustPlacementsForFreezes, totalFreezeDurationMs, type FreezeSpec, type ResolvedFreeze, } from './freeze.js';
|
|
21
|
-
export { buildCameraMoveFilter, shiftCameraMoves, scaleCameraMoves, type CameraMove } from './camera-move.js';
|
|
21
|
+
export { buildCameraMoveFilter, buildMotionBlurFilter, shiftCameraMoves, scaleCameraMoves, type CameraMove } from './camera-move.js';
|
|
22
|
+
export { buildFrameFilter, type FrameFilterResult } from './frame.js';
|
|
22
23
|
export { runFfmpegWithProgress } from './progress.js';
|
|
23
24
|
export { startDashboardServer } from './dashboard.js';
|
|
24
25
|
export { extractClip, type ClipOptions } from './clip.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -37,7 +37,9 @@ export { computeSegments, applySpeedRamp } from './speed-ramp.js';
|
|
|
37
37
|
// Freeze
|
|
38
38
|
export { buildFreezeFilter, resolveFreezes, adjustPlacementsForFreezes, totalFreezeDurationMs, } from './freeze.js';
|
|
39
39
|
// Camera Moves
|
|
40
|
-
export { buildCameraMoveFilter, shiftCameraMoves, scaleCameraMoves } from './camera-move.js';
|
|
40
|
+
export { buildCameraMoveFilter, buildMotionBlurFilter, shiftCameraMoves, scaleCameraMoves } from './camera-move.js';
|
|
41
|
+
// Frame
|
|
42
|
+
export { buildFrameFilter } from './frame.js';
|
|
41
43
|
// Progress
|
|
42
44
|
export { runFfmpegWithProgress } from './progress.js';
|
|
43
45
|
// Dashboard
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,SAAS;AACT,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,SAAS;AACT,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,GAgBb,MAAM,aAAa,CAAC;AAErB,WAAW;AACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAA6B,MAAM,gBAAgB,CAAC;AAE9E,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEtE,WAAW;AACX,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,GAMZ,MAAM,qBAAqB,CAAC;AAE7B,8CAA8C;AAC9C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,GAGhB,MAAM,6BAA6B,CAAC;AAErC,UAAU;AACV,OAAO,EAAE,YAAY,EAAwB,MAAM,cAAc,CAAC;AAElE,SAAS;AACT,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,EACN,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EACL,eAAe,EACf,WAAW,GAEZ,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D,WAAW;AACX,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAEpF,WAAW;AACX,OAAO,EAAE,YAAY,EAA6C,MAAM,eAAe,CAAC;AAExF,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE7D,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEnG,cAAc;AACd,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAEtF,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,0BAA0B,EAC1B,qBAAqB,GAGtB,MAAM,aAAa,CAAC;AAErB,eAAe;AACf,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AAErI,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAA0B,MAAM,YAAY,CAAC;AAEtE,WAAW;AACX,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,YAAY;AACZ,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO;AACP,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,eAAe;AACf,OAAO,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAC;AAEzE,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzG,SAAS;AACT,OAAO,EAAE,WAAW,EAAyC,MAAM,aAAa,CAAC;AAEjF,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAwB,MAAM,qBAAqB,CAAC"}
|
package/dist/media.d.ts
CHANGED
|
@@ -10,6 +10,20 @@ export declare function getVideoFrameRate(videoPath: string): number;
|
|
|
10
10
|
* light video → 'dark' overlay. Falls back to 'dark' on error.
|
|
11
11
|
*/
|
|
12
12
|
export declare function detectVideoTheme(videoPath: string, startMs?: number, endMs?: number): BackgroundTheme;
|
|
13
|
+
/**
|
|
14
|
+
* Extract the two most dominant colors from the edges of a video frame.
|
|
15
|
+
*
|
|
16
|
+
* Samples a frame near the middle of the video, crops thin strips from all
|
|
17
|
+
* four edges, downscales to a tiny resolution, and clusters the pixel colors
|
|
18
|
+
* into two buckets. Returns the two hex colors sorted dark-to-light, suitable
|
|
19
|
+
* for a gradient background that blends with the video content.
|
|
20
|
+
*
|
|
21
|
+
* Returns null on failure (best-effort — caller should fall back to a default).
|
|
22
|
+
*/
|
|
23
|
+
export declare function probeEdgeColors(videoPath: string, timestampMs?: number): {
|
|
24
|
+
color0: string;
|
|
25
|
+
color1: string;
|
|
26
|
+
} | null;
|
|
13
27
|
/**
|
|
14
28
|
* Probe video dimensions (width × height) using ffprobe.
|
|
15
29
|
* Returns { width, height } or null on failure.
|
package/dist/media.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwB5D;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B3D;AAuCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,SAAI,EACX,KAAK,CAAC,EAAE,MAAM,GACb,eAAe,CA0BjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe9F"}
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwB5D;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B3D;AAuCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,SAAI,EACX,KAAK,CAAC,EAAE,MAAM,GACb,eAAe,CA0BjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA2E3C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAe9F"}
|
package/dist/media.js
CHANGED
|
@@ -106,6 +106,92 @@ export function detectVideoTheme(videoPath, startMs = 0, endMs) {
|
|
|
106
106
|
const avgLuminance = luminances.reduce((a, b) => a + b, 0) / luminances.length;
|
|
107
107
|
return avgLuminance < 128 ? 'light' : 'dark';
|
|
108
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Extract the two most dominant colors from the edges of a video frame.
|
|
111
|
+
*
|
|
112
|
+
* Samples a frame near the middle of the video, crops thin strips from all
|
|
113
|
+
* four edges, downscales to a tiny resolution, and clusters the pixel colors
|
|
114
|
+
* into two buckets. Returns the two hex colors sorted dark-to-light, suitable
|
|
115
|
+
* for a gradient background that blends with the video content.
|
|
116
|
+
*
|
|
117
|
+
* Returns null on failure (best-effort — caller should fall back to a default).
|
|
118
|
+
*/
|
|
119
|
+
export function probeEdgeColors(videoPath, timestampMs) {
|
|
120
|
+
try {
|
|
121
|
+
// Probe duration to pick a mid-point frame if no timestamp given
|
|
122
|
+
let ts = timestampMs;
|
|
123
|
+
if (ts === undefined) {
|
|
124
|
+
const durationMs = getVideoDurationMs(videoPath);
|
|
125
|
+
ts = Math.round(durationMs * 0.15); // 15% in — past intro transitions
|
|
126
|
+
}
|
|
127
|
+
const ss = (ts / 1000).toFixed(3);
|
|
128
|
+
// Extract a single frame, aggressively downscale to 16x16 to get dominant colors.
|
|
129
|
+
// The tiny resolution naturally averages out details, leaving only the broad
|
|
130
|
+
// color regions — effectively sampling the whole frame including edges.
|
|
131
|
+
const result = spawnSync('ffmpeg', [
|
|
132
|
+
'-ss', ss,
|
|
133
|
+
'-i', videoPath,
|
|
134
|
+
'-frames:v', '1',
|
|
135
|
+
'-vf', 'scale=16:16:flags=area',
|
|
136
|
+
'-f', 'rawvideo',
|
|
137
|
+
'-pix_fmt', 'rgb24',
|
|
138
|
+
'pipe:1',
|
|
139
|
+
], { stdio: ['pipe', 'pipe', 'pipe'], maxBuffer: 16 * 16 * 3 + 4096 });
|
|
140
|
+
if (!result.stdout || result.stdout.length < 16 * 16 * 3) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
const pixels = result.stdout;
|
|
144
|
+
const pixelCount = Math.floor(pixels.length / 3);
|
|
145
|
+
// Simple 2-means clustering: start with darkest and lightest pixel
|
|
146
|
+
const colors = [];
|
|
147
|
+
for (let i = 0; i < pixelCount; i++) {
|
|
148
|
+
colors.push([pixels[i * 3], pixels[i * 3 + 1], pixels[i * 3 + 2]]);
|
|
149
|
+
}
|
|
150
|
+
// Sort by luminance, pick darkest and lightest as seeds
|
|
151
|
+
colors.sort((a, b) => {
|
|
152
|
+
const lumA = 0.299 * a[0] + 0.587 * a[1] + 0.114 * a[2];
|
|
153
|
+
const lumB = 0.299 * b[0] + 0.587 * b[1] + 0.114 * b[2];
|
|
154
|
+
return lumA - lumB;
|
|
155
|
+
});
|
|
156
|
+
let c0 = colors[0];
|
|
157
|
+
let c1 = colors[colors.length - 1];
|
|
158
|
+
// Refine with 3 iterations of k-means
|
|
159
|
+
for (let iter = 0; iter < 3; iter++) {
|
|
160
|
+
const sum0 = [0, 0, 0], sum1 = [0, 0, 0];
|
|
161
|
+
let count0 = 0, count1 = 0;
|
|
162
|
+
for (const c of colors) {
|
|
163
|
+
const d0 = (c[0] - c0[0]) ** 2 + (c[1] - c0[1]) ** 2 + (c[2] - c0[2]) ** 2;
|
|
164
|
+
const d1 = (c[0] - c1[0]) ** 2 + (c[1] - c1[1]) ** 2 + (c[2] - c1[2]) ** 2;
|
|
165
|
+
if (d0 <= d1) {
|
|
166
|
+
sum0[0] += c[0];
|
|
167
|
+
sum0[1] += c[1];
|
|
168
|
+
sum0[2] += c[2];
|
|
169
|
+
count0++;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
sum1[0] += c[0];
|
|
173
|
+
sum1[1] += c[1];
|
|
174
|
+
sum1[2] += c[2];
|
|
175
|
+
count1++;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (count0 > 0)
|
|
179
|
+
c0 = [Math.round(sum0[0] / count0), Math.round(sum0[1] / count0), Math.round(sum0[2] / count0)];
|
|
180
|
+
if (count1 > 0)
|
|
181
|
+
c1 = [Math.round(sum1[0] / count1), Math.round(sum1[1] / count1), Math.round(sum1[2] / count1)];
|
|
182
|
+
}
|
|
183
|
+
const toHex = (c) => '#' + c.map(v => Math.max(0, Math.min(255, v)).toString(16).padStart(2, '0')).join('');
|
|
184
|
+
// Sort dark-to-light for consistent gradient direction
|
|
185
|
+
const lum0 = 0.299 * c0[0] + 0.587 * c0[1] + 0.114 * c0[2];
|
|
186
|
+
const lum1 = 0.299 * c1[0] + 0.587 * c1[1] + 0.114 * c1[2];
|
|
187
|
+
return lum0 <= lum1
|
|
188
|
+
? { color0: toHex(c0), color1: toHex(c1) }
|
|
189
|
+
: { color0: toHex(c1), color1: toHex(c0) };
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
109
195
|
/**
|
|
110
196
|
* Probe video dimensions (width × height) using ffprobe.
|
|
111
197
|
* Returns { width, height } or null on failure.
|
package/dist/media.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/overlays/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/overlays/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAwJD,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,GAAE,eAAwB,GAAG,cAAc,CAa/F"}
|
|
@@ -64,6 +64,36 @@ function callout(text, theme) {
|
|
|
64
64
|
},
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
+
function arrow(theme, direction = 'down', label, color = '#ef4444', size = 48) {
|
|
68
|
+
const isDark = theme === 'dark';
|
|
69
|
+
// SVG arrow paths for each direction
|
|
70
|
+
const arrowPaths = {
|
|
71
|
+
'up': 'M24 44 L24 8 M24 8 L12 20 M24 8 L36 20',
|
|
72
|
+
'down': 'M24 4 L24 40 M24 40 L12 28 M24 40 L36 28',
|
|
73
|
+
'left': 'M44 24 L8 24 M8 24 L20 12 M8 24 L20 36',
|
|
74
|
+
'right': 'M4 24 L40 24 M40 24 L28 12 M40 24 L28 36',
|
|
75
|
+
'up-left': 'M38 38 L10 10 M10 10 L10 24 M10 10 L24 10',
|
|
76
|
+
'up-right': 'M10 38 L38 10 M38 10 L24 10 M38 10 L38 24',
|
|
77
|
+
'down-left': 'M38 10 L10 38 M10 38 L24 38 M10 38 L10 24',
|
|
78
|
+
'down-right': 'M10 10 L38 38 M38 38 L24 38 M38 38 L38 24',
|
|
79
|
+
};
|
|
80
|
+
const path = arrowPaths[direction] ?? arrowPaths['down'];
|
|
81
|
+
const strokeWidth = Math.max(3, Math.round(size / 12));
|
|
82
|
+
const svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="${size}" height="${size}" style="display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3))"><path d="${path}" stroke="${escapeHtml(color)}" stroke-width="${strokeWidth}" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg>`;
|
|
83
|
+
const parts = [svg];
|
|
84
|
+
if (label) {
|
|
85
|
+
parts.push(`<div style="font-size:${Math.max(12, Math.round(size * 0.35))}px;font-weight:600;color:${isDark ? '#1a1a1a' : '#fff'};margin-top:6px;text-align:center;text-shadow:${isDark ? '0 1px 3px rgba(0,0,0,0.2)' : '0 1px 4px rgba(0,0,0,0.6)'}">${escapeHtml(label)}</div>`);
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
contentHtml: parts.join(''),
|
|
89
|
+
styles: {
|
|
90
|
+
display: 'flex',
|
|
91
|
+
flexDirection: 'column',
|
|
92
|
+
alignItems: 'center',
|
|
93
|
+
padding: '8px',
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
}
|
|
67
97
|
function imageCard(src, theme, title, body) {
|
|
68
98
|
const isDark = theme === 'dark';
|
|
69
99
|
const parts = [];
|
|
@@ -97,6 +127,8 @@ export function renderTemplate(cue, theme = 'dark') {
|
|
|
97
127
|
return callout(cue.text, theme);
|
|
98
128
|
case 'image-card':
|
|
99
129
|
return imageCard(cue.src, theme, cue.title, cue.body);
|
|
130
|
+
case 'arrow':
|
|
131
|
+
return arrow(theme, cue.direction, cue.label, cue.color, cue.size);
|
|
100
132
|
}
|
|
101
133
|
}
|
|
102
134
|
//# sourceMappingURL=templates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/overlays/templates.ts"],"names":[],"mappings":"AAQA,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,KAAsB;IACtD,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC;IAChC,OAAO;QACL,WAAW,EAAE,SAAS,UAAU,CAAC,IAAI,CAAC,SAAS;QAC/C,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,0BAA0B;YACvE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAClC,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,MAAM;YAChB,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,gCAAgC;SACvF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,KAAsB,EAAE,MAAe,EAAE,IAAa;IACzF,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CACR,mGAAmG,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,uBAAuB,UAAU,CAAC,MAAM,CAAC,QAAQ,CACzM,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CACR,qEAAqE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,KAAK,CAAC,QAAQ,CAC/H,CAAC;IACF,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CACR,oDAAoD,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,oBAAoB,UAAU,CAAC,IAAI,CAAC,QAAQ,CACtJ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,2BAA2B;YACvE,cAAc,EAAE,YAAY;YAC5B,oBAAoB,EAAE,YAAY;YAClC,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,+BAA+B;SACtF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAsB;IACnD,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC;IAChC,OAAO;QACL,WAAW,EAAE,SAAS,UAAU,CAAC,IAAI,CAAC,SAAS;QAC/C,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,0BAA0B;YACtE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAClC,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,+BAA+B;SACtF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,KAAsB,EAAE,KAAc,EAAE,IAAa;IACnF,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CACR,aAAa,UAAU,CAAC,GAAG,CAAC,6DAA6D,CAC1F,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CACR,oDAAoD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,qBAAqB,UAAU,CAAC,KAAK,CAAC,QAAQ,CAC9H,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CACR,oCAAoC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,oCAAoC,UAAU,CAAC,IAAI,CAAC,QAAQ,CACrJ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,2BAA2B;YACxE,cAAc,EAAE,YAAY;YAC5B,oBAAoB,EAAE,YAAY;YAClC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,+BAA+B;SACtF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAe,EAAE,QAAyB,MAAM;IAC7E,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,KAAK,eAAe;YAClB,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9D,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/overlays/templates.ts"],"names":[],"mappings":"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"}
|
package/dist/overlays/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const ZONES: readonly ["bottom-center", "top-left", "top-right", "bottom-left", "bottom-right", "center"];
|
|
2
2
|
export type Zone = (typeof ZONES)[number];
|
|
3
|
-
export declare const TEMPLATE_TYPES: readonly ["lower-third", "headline-card", "callout", "image-card"];
|
|
3
|
+
export declare const TEMPLATE_TYPES: readonly ["lower-third", "headline-card", "callout", "image-card", "arrow"];
|
|
4
4
|
export type TemplateType = (typeof TEMPLATE_TYPES)[number];
|
|
5
5
|
export declare const MOTIONS: readonly ["none", "fade-in", "slide-in"];
|
|
6
6
|
export type MotionPreset = (typeof MOTIONS)[number];
|
|
@@ -36,7 +36,23 @@ export interface ImageCardCue {
|
|
|
36
36
|
motion?: MotionPreset;
|
|
37
37
|
autoBackground?: boolean;
|
|
38
38
|
}
|
|
39
|
-
export
|
|
39
|
+
export declare const ARROW_DIRECTIONS: readonly ["up", "down", "left", "right", "up-left", "up-right", "down-left", "down-right"];
|
|
40
|
+
export type ArrowDirection = (typeof ARROW_DIRECTIONS)[number];
|
|
41
|
+
export interface ArrowCue {
|
|
42
|
+
type: 'arrow';
|
|
43
|
+
/** Arrow direction. Default: 'down'. */
|
|
44
|
+
direction?: ArrowDirection;
|
|
45
|
+
/** Optional label text displayed alongside the arrow. */
|
|
46
|
+
label?: string;
|
|
47
|
+
/** Arrow color (CSS color value). Default: '#ef4444' (red). */
|
|
48
|
+
color?: string;
|
|
49
|
+
/** Arrow size in pixels. Default: 48. */
|
|
50
|
+
size?: number;
|
|
51
|
+
placement?: Zone;
|
|
52
|
+
motion?: MotionPreset;
|
|
53
|
+
autoBackground?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export type OverlayCue = LowerThirdCue | HeadlineCardCue | CalloutCue | ImageCardCue | ArrowCue;
|
|
40
56
|
export type OverlayManifestEntry = OverlayCue & {
|
|
41
57
|
scene: string;
|
|
42
58
|
};
|
|
@@ -83,6 +99,10 @@ export interface SceneEntry {
|
|
|
83
99
|
voice?: string;
|
|
84
100
|
speed?: number;
|
|
85
101
|
lang?: string;
|
|
102
|
+
/** Playback speed multiplier for this scene's video segment (e.g., 0.5 = half speed, 2.0 = double speed).
|
|
103
|
+
* Unlike `speed` (TTS speech rate), this controls the video playback speed during export.
|
|
104
|
+
* Default: 1.0 (normal speed). */
|
|
105
|
+
playbackSpeed?: number;
|
|
86
106
|
_hint?: string;
|
|
87
107
|
overlay?: OverlayCue;
|
|
88
108
|
effects?: SceneEffect[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/overlays/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,8FAOR,CAAC;AAEX,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/overlays/types.ts"],"names":[],"mappings":"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"}
|
package/dist/overlays/types.js
CHANGED
|
@@ -11,8 +11,13 @@ export const TEMPLATE_TYPES = [
|
|
|
11
11
|
'headline-card',
|
|
12
12
|
'callout',
|
|
13
13
|
'image-card',
|
|
14
|
+
'arrow',
|
|
14
15
|
];
|
|
15
16
|
export const MOTIONS = ['none', 'fade-in', 'slide-in'];
|
|
17
|
+
export const ARROW_DIRECTIONS = [
|
|
18
|
+
'up', 'down', 'left', 'right',
|
|
19
|
+
'up-left', 'up-right', 'down-left', 'down-right',
|
|
20
|
+
];
|
|
16
21
|
// ─── Effects ──────────────────────────────────────────────────────────────
|
|
17
22
|
export const EFFECT_TYPES = ['confetti', 'spotlight', 'focus-ring', 'dim-around', 'zoom-to'];
|
|
18
23
|
export const CONFETTI_SPREADS = ['burst', 'rain'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/overlays/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,eAAe;IACf,UAAU;IACV,WAAW;IACX,aAAa;IACb,cAAc;IACd,QAAQ;CACA,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa;IACb,eAAe;IACf,SAAS;IACT,YAAY;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/overlays/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,eAAe;IACf,UAAU;IACV,WAAW;IACX,aAAa;IACb,cAAc;IACd,QAAQ;CACA,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa;IACb,eAAe;IACf,SAAS;IACT,YAAY;IACZ,OAAO;CACC,CAAC;AAIX,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAwChE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAC7B,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY;CACxC,CAAC;AAyBX,6EAA6E;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AAItG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAC;AAwC3D,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAQ,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAmBD,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAQ,KAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAQ,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAQ,OAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC"}
|
package/dist/pipeline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAa9C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CASxD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,EACxG,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,EACxG,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAa9C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CASxD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,EACxG,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,EACxG,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,MAAM,CAAC,CA0bjB"}
|