@shuffll/mcp-server 1.3.0 → 1.4.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.
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import { ShufflApiClient } from "./api-client.js";
|
|
2
|
+
interface CompositionEntry {
|
|
3
|
+
type: string;
|
|
4
|
+
isGeneric: boolean;
|
|
5
|
+
}
|
|
2
6
|
interface CachedDesignGroup {
|
|
3
7
|
id: string;
|
|
4
8
|
name: string;
|
|
5
9
|
/** aspectRatio → designId */
|
|
6
10
|
designs: Map<string, string>;
|
|
7
|
-
/** composition
|
|
8
|
-
|
|
11
|
+
/** All composition entries (branded + generic, with classification) */
|
|
12
|
+
allCompositions: CompositionEntry[];
|
|
9
13
|
}
|
|
10
14
|
/**
|
|
11
15
|
* Discovers and caches available design groups, their aspect-ratio
|
|
12
16
|
* variants, and composition types from platform templates.
|
|
13
17
|
* Refreshes periodically so the MCP server stays up-to-date.
|
|
14
18
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
19
|
+
* Generic compositions are detected **adaptively** by inspecting each
|
|
20
|
+
* composition's layout path in the API response. If the path contains
|
|
21
|
+
* "generic-designs", the composition is classified as generic.
|
|
18
22
|
*/
|
|
19
23
|
export declare class DesignRegistry {
|
|
20
24
|
private apiClient;
|
|
@@ -22,43 +26,39 @@ export declare class DesignRegistry {
|
|
|
22
26
|
private groups;
|
|
23
27
|
private refreshTimer;
|
|
24
28
|
private initialized;
|
|
29
|
+
/** Dynamically discovered generic composition types. */
|
|
30
|
+
private genericTypes;
|
|
25
31
|
constructor(apiClient: ShufflApiClient, refreshIntervalMs?: number);
|
|
26
32
|
initialize(): Promise<void>;
|
|
27
33
|
dispose(): void;
|
|
28
34
|
/**
|
|
29
35
|
* Find a design group that supports the given aspect ratio.
|
|
30
|
-
* Returns the first matching group's designGroupId and designId.
|
|
31
36
|
*/
|
|
32
37
|
findDesignForAspectRatio(ratio: string): {
|
|
33
38
|
designGroupId: string;
|
|
34
39
|
designId: string;
|
|
35
40
|
} | null;
|
|
36
41
|
/**
|
|
37
|
-
* Returns
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* when calling updateSceneComposition.
|
|
42
|
+
* Returns all discovered generic composition type names.
|
|
43
|
+
* Detected adaptively from the API response — new compositions
|
|
44
|
+
* added to the generic designs collection are picked up automatically.
|
|
41
45
|
*/
|
|
42
|
-
getGenericCompositions(
|
|
46
|
+
getGenericCompositions(): string[];
|
|
43
47
|
/**
|
|
44
|
-
* Check whether a composition type
|
|
45
|
-
* (i.e. it's a clean, unbranded layout).
|
|
48
|
+
* Check whether a composition type is a generic (clean, unbranded) layout.
|
|
46
49
|
*/
|
|
47
|
-
isGenericComposition(compositionType: string
|
|
50
|
+
isGenericComposition(compositionType: string): boolean;
|
|
48
51
|
/**
|
|
49
|
-
*
|
|
50
|
-
* position in the video. All suggested types come from the generic
|
|
51
|
-
* designs collection.
|
|
52
|
+
* Map a branded composition to its best generic equivalent for UGC.
|
|
52
53
|
*
|
|
53
|
-
*
|
|
54
|
-
* -
|
|
55
|
-
* -
|
|
56
|
-
* -
|
|
54
|
+
* Strategy:
|
|
55
|
+
* - Video compositions (vid_*) → "vid_clean" (full-frame, no overlays)
|
|
56
|
+
* - Image compositions (img_*) → "img_slides" (full-frame sliding image)
|
|
57
|
+
* - Text/graphic compositions → keep original (they have no media to lose)
|
|
57
58
|
*
|
|
58
|
-
*
|
|
59
|
-
* is driven by the voiceover script and stock footage.
|
|
59
|
+
* Returns null if the scene should keep its current composition.
|
|
60
60
|
*/
|
|
61
|
-
|
|
61
|
+
mapToGenericForUgc(currentComposition: string): string | null;
|
|
62
62
|
/**
|
|
63
63
|
* Returns all discovered design groups (for debugging / logging).
|
|
64
64
|
*/
|
package/build/design-registry.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { log, logError } from "./utils/logger.js";
|
|
2
2
|
// ============================================================
|
|
3
|
-
// Generic Design Compositions
|
|
3
|
+
// Generic Design Compositions – Adaptive Detection
|
|
4
4
|
// ============================================================
|
|
5
5
|
//
|
|
6
6
|
// Generic designs are a separate collection in the DB – one document per
|
|
@@ -9,62 +9,25 @@ import { log, logError } from "./utils/logger.js";
|
|
|
9
9
|
// automatically merges generic compositions into every design, so calling
|
|
10
10
|
// updateSceneComposition with a generic type always works.
|
|
11
11
|
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
12
|
+
// Detection: The DesignResolver tags generic compositions with a
|
|
13
|
+
// baseDesignPath containing "generic-designs". During refresh() we look
|
|
14
|
+
// at each composition's layout path to classify it automatically.
|
|
15
|
+
// This means new compositions added to the generic designs collection
|
|
16
|
+
// are picked up without code changes.
|
|
14
17
|
// ============================================================
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
"vid_clean",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
"dynamic-title_vid_03", // Smart headline overlay (variant 3)
|
|
29
|
-
];
|
|
30
|
-
/** Additional compositions available in 16/9 generic design. */
|
|
31
|
-
const GENERIC_COMPOSITIONS_16_9_EXTRA = [
|
|
32
|
-
"browser-mockup-02",
|
|
33
|
-
"vid_and_right_bulleted-list",
|
|
34
|
-
"presented-by",
|
|
35
|
-
"vid_and_bulleted-list",
|
|
36
|
-
"bulleted-list",
|
|
37
|
-
"vid_shadow",
|
|
38
|
-
"img_shadow",
|
|
39
|
-
"quiz",
|
|
40
|
-
"vid_pip-2",
|
|
41
|
-
"flowchart_txt",
|
|
42
|
-
"listings-chart_vid",
|
|
43
|
-
"listings-side-chart_vid",
|
|
44
|
-
"dynamic-title_vid_04",
|
|
45
|
-
"dynamic-title_vid_05",
|
|
46
|
-
];
|
|
47
|
-
/** Additional compositions available in 9/16 generic design. */
|
|
48
|
-
const GENERIC_COMPOSITIONS_9_16_EXTRA = [
|
|
49
|
-
"2-img_frames_txt",
|
|
50
|
-
"3-img_frames_txt",
|
|
51
|
-
"img_split_2_static",
|
|
52
|
-
"img_split_3_static",
|
|
53
|
-
"img_split_4_static",
|
|
54
|
-
"dynamic-title_vid_04",
|
|
55
|
-
"dynamic-title_vid_05",
|
|
56
|
-
];
|
|
57
|
-
/** Additional compositions available in 1/1 generic design. */
|
|
58
|
-
const GENERIC_COMPOSITIONS_1_1_EXTRA = [
|
|
59
|
-
"dynamic-title_vid_04",
|
|
60
|
-
"dynamic-title_vid_05",
|
|
61
|
-
];
|
|
62
|
-
/** All generic compositions per aspect ratio. */
|
|
63
|
-
const GENERIC_COMPOSITIONS = {
|
|
64
|
-
"16/9": [...GENERIC_COMPOSITIONS_COMMON, ...GENERIC_COMPOSITIONS_16_9_EXTRA],
|
|
65
|
-
"1/1": [...GENERIC_COMPOSITIONS_COMMON, ...GENERIC_COMPOSITIONS_1_1_EXTRA],
|
|
66
|
-
"9/16": [...GENERIC_COMPOSITIONS_COMMON, ...GENERIC_COMPOSITIONS_9_16_EXTRA],
|
|
67
|
-
};
|
|
18
|
+
// Fallback list – only used if the API response lacks path information.
|
|
19
|
+
const FALLBACK_GENERIC_TYPES = new Set([
|
|
20
|
+
"vid_clean", "smart_vid", "img_single_static", "img_slides",
|
|
21
|
+
"img_shadow", "vid_shadow", "browser-mockup-01", "browser-mockup-02",
|
|
22
|
+
"3-img_slides", "4-img_frames_txt", "quote_txt", "vid_side-by-side",
|
|
23
|
+
"vid_pip-2", "vid_and_bulleted-list", "vid_and_right_bulleted-list",
|
|
24
|
+
"bulleted-list", "presented-by", "quiz", "flowchart_txt",
|
|
25
|
+
"listings-chart_vid", "listings-side-chart_vid",
|
|
26
|
+
"dynamic-title_vid_01", "dynamic-title_vid_02", "dynamic-title_vid_03",
|
|
27
|
+
"dynamic-title_vid_04", "dynamic-title_vid_05",
|
|
28
|
+
"2-img_frames_txt", "3-img_frames_txt",
|
|
29
|
+
"img_split_2_static", "img_split_3_static", "img_split_4_static",
|
|
30
|
+
]);
|
|
68
31
|
// ============================================================
|
|
69
32
|
// DesignRegistry
|
|
70
33
|
// ============================================================
|
|
@@ -73,9 +36,9 @@ const GENERIC_COMPOSITIONS = {
|
|
|
73
36
|
* variants, and composition types from platform templates.
|
|
74
37
|
* Refreshes periodically so the MCP server stays up-to-date.
|
|
75
38
|
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
39
|
+
* Generic compositions are detected **adaptively** by inspecting each
|
|
40
|
+
* composition's layout path in the API response. If the path contains
|
|
41
|
+
* "generic-designs", the composition is classified as generic.
|
|
79
42
|
*/
|
|
80
43
|
export class DesignRegistry {
|
|
81
44
|
apiClient;
|
|
@@ -83,6 +46,8 @@ export class DesignRegistry {
|
|
|
83
46
|
groups = [];
|
|
84
47
|
refreshTimer = null;
|
|
85
48
|
initialized = false;
|
|
49
|
+
/** Dynamically discovered generic composition types. */
|
|
50
|
+
genericTypes = new Set();
|
|
86
51
|
constructor(apiClient, refreshIntervalMs = 30 * 60 * 1000) {
|
|
87
52
|
this.apiClient = apiClient;
|
|
88
53
|
this.refreshIntervalMs = refreshIntervalMs;
|
|
@@ -93,7 +58,6 @@ export class DesignRegistry {
|
|
|
93
58
|
async initialize() {
|
|
94
59
|
await this.refresh();
|
|
95
60
|
this.initialized = true;
|
|
96
|
-
// Periodic refresh
|
|
97
61
|
this.refreshTimer = setInterval(() => {
|
|
98
62
|
this.refresh().catch((err) => logError("DesignRegistry periodic refresh failed", err));
|
|
99
63
|
}, this.refreshIntervalMs);
|
|
@@ -106,7 +70,6 @@ export class DesignRegistry {
|
|
|
106
70
|
}
|
|
107
71
|
/**
|
|
108
72
|
* Find a design group that supports the given aspect ratio.
|
|
109
|
-
* Returns the first matching group's designGroupId and designId.
|
|
110
73
|
*/
|
|
111
74
|
findDesignForAspectRatio(ratio) {
|
|
112
75
|
for (const group of this.groups) {
|
|
@@ -118,46 +81,49 @@ export class DesignRegistry {
|
|
|
118
81
|
return null;
|
|
119
82
|
}
|
|
120
83
|
/**
|
|
121
|
-
* Returns
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
* when calling updateSceneComposition.
|
|
84
|
+
* Returns all discovered generic composition type names.
|
|
85
|
+
* Detected adaptively from the API response — new compositions
|
|
86
|
+
* added to the generic designs collection are picked up automatically.
|
|
125
87
|
*/
|
|
126
|
-
getGenericCompositions(
|
|
127
|
-
return
|
|
88
|
+
getGenericCompositions() {
|
|
89
|
+
return Array.from(this.genericTypes);
|
|
128
90
|
}
|
|
129
91
|
/**
|
|
130
|
-
* Check whether a composition type
|
|
131
|
-
* (i.e. it's a clean, unbranded layout).
|
|
92
|
+
* Check whether a composition type is a generic (clean, unbranded) layout.
|
|
132
93
|
*/
|
|
133
|
-
isGenericComposition(compositionType
|
|
134
|
-
|
|
135
|
-
return generics.includes(compositionType);
|
|
94
|
+
isGenericComposition(compositionType) {
|
|
95
|
+
return this.genericTypes.has(compositionType);
|
|
136
96
|
}
|
|
137
97
|
/**
|
|
138
|
-
*
|
|
139
|
-
* position in the video. All suggested types come from the generic
|
|
140
|
-
* designs collection.
|
|
98
|
+
* Map a branded composition to its best generic equivalent for UGC.
|
|
141
99
|
*
|
|
142
|
-
*
|
|
143
|
-
* -
|
|
144
|
-
* -
|
|
145
|
-
* -
|
|
100
|
+
* Strategy:
|
|
101
|
+
* - Video compositions (vid_*) → "vid_clean" (full-frame, no overlays)
|
|
102
|
+
* - Image compositions (img_*) → "img_slides" (full-frame sliding image)
|
|
103
|
+
* - Text/graphic compositions → keep original (they have no media to lose)
|
|
146
104
|
*
|
|
147
|
-
*
|
|
148
|
-
* is driven by the voiceover script and stock footage.
|
|
105
|
+
* Returns null if the scene should keep its current composition.
|
|
149
106
|
*/
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
107
|
+
mapToGenericForUgc(currentComposition) {
|
|
108
|
+
// Already generic – no swap needed
|
|
109
|
+
if (this.isGenericComposition(currentComposition))
|
|
110
|
+
return null;
|
|
111
|
+
// Video-based scenes → clean full-frame video
|
|
112
|
+
if (currentComposition.startsWith("vid_")) {
|
|
113
|
+
return this.genericTypes.has("vid_clean") ? "vid_clean" : null;
|
|
114
|
+
}
|
|
115
|
+
// Image-based scenes → sliding image (preserves image assets)
|
|
116
|
+
if (currentComposition.startsWith("img_")) {
|
|
117
|
+
if (this.genericTypes.has("img_slides"))
|
|
118
|
+
return "img_slides";
|
|
119
|
+
if (this.genericTypes.has("img_single_static"))
|
|
120
|
+
return "img_single_static";
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
// Text / graphic scenes (headline_txt, cta_txt, logo_intro, etc.)
|
|
124
|
+
// Keep as-is — swapping these to vid_clean would lose all content
|
|
125
|
+
// because text scenes don't have video assets assigned.
|
|
126
|
+
return null;
|
|
161
127
|
}
|
|
162
128
|
/**
|
|
163
129
|
* Returns all discovered design groups (for debugging / logging).
|
|
@@ -175,17 +141,19 @@ export class DesignRegistry {
|
|
|
175
141
|
try {
|
|
176
142
|
const templates = await this.apiClient.getPlatformTemplates();
|
|
177
143
|
const groupMap = new Map();
|
|
144
|
+
const discoveredGenericTypes = new Set();
|
|
145
|
+
let usedPathDetection = false;
|
|
178
146
|
for (const template of templates) {
|
|
179
147
|
const dg = template.designGroup;
|
|
180
148
|
if (!dg || !dg._id)
|
|
181
149
|
continue;
|
|
182
150
|
const dgId = String(dg._id);
|
|
183
151
|
if (groupMap.has(dgId))
|
|
184
|
-
continue;
|
|
152
|
+
continue;
|
|
185
153
|
const name = String(dg.name || "Unknown");
|
|
186
154
|
const designs = new Map();
|
|
187
|
-
const
|
|
188
|
-
// Extract aspect-ratio → designId mappings
|
|
155
|
+
const allCompositions = [];
|
|
156
|
+
// Extract aspect-ratio → designId mappings
|
|
189
157
|
const metadata = dg.designsMetadata;
|
|
190
158
|
if (Array.isArray(metadata)) {
|
|
191
159
|
for (const entry of metadata) {
|
|
@@ -194,30 +162,65 @@ export class DesignRegistry {
|
|
|
194
162
|
}
|
|
195
163
|
}
|
|
196
164
|
}
|
|
197
|
-
// Extract
|
|
165
|
+
// Extract compositions and classify generic vs branded
|
|
198
166
|
const chosenDesign = dg.chosenDesign;
|
|
199
167
|
if (chosenDesign) {
|
|
200
168
|
const comps = chosenDesign.compositions;
|
|
201
169
|
if (Array.isArray(comps)) {
|
|
202
170
|
for (const comp of comps) {
|
|
203
|
-
if (comp.type)
|
|
204
|
-
|
|
171
|
+
if (!comp.type)
|
|
172
|
+
continue;
|
|
173
|
+
const compType = String(comp.type);
|
|
174
|
+
// Adaptive detection: check if any layout path contains "generic-designs"
|
|
175
|
+
let isGeneric = false;
|
|
176
|
+
const layouts = comp.layouts;
|
|
177
|
+
if (Array.isArray(layouts)) {
|
|
178
|
+
for (const layout of layouts) {
|
|
179
|
+
const relPath = layout.relativeLottiePath;
|
|
180
|
+
const basePath = layout.baseDesignPath;
|
|
181
|
+
if ((relPath && relPath.includes("generic-designs")) ||
|
|
182
|
+
(basePath && basePath.includes("generic-designs"))) {
|
|
183
|
+
isGeneric = true;
|
|
184
|
+
usedPathDetection = true;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// Fallback: if no path info available, check against known list
|
|
190
|
+
if (!isGeneric && !usedPathDetection) {
|
|
191
|
+
isGeneric = FALLBACK_GENERIC_TYPES.has(compType);
|
|
192
|
+
}
|
|
193
|
+
allCompositions.push({ type: compType, isGeneric });
|
|
194
|
+
if (isGeneric) {
|
|
195
|
+
discoveredGenericTypes.add(compType);
|
|
205
196
|
}
|
|
206
197
|
}
|
|
207
198
|
}
|
|
208
199
|
}
|
|
209
|
-
groupMap.set(dgId, { id: dgId, name, designs,
|
|
200
|
+
groupMap.set(dgId, { id: dgId, name, designs, allCompositions });
|
|
210
201
|
}
|
|
211
202
|
this.groups = Array.from(groupMap.values());
|
|
212
|
-
|
|
203
|
+
// If path-based detection found nothing but fallback did, use fallback set
|
|
204
|
+
if (discoveredGenericTypes.size === 0 && !usedPathDetection) {
|
|
205
|
+
this.genericTypes = new Set(FALLBACK_GENERIC_TYPES);
|
|
206
|
+
log("DesignRegistry: using fallback generic composition list (no path info in API response)");
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
this.genericTypes = discoveredGenericTypes;
|
|
210
|
+
}
|
|
211
|
+
log(`DesignRegistry refreshed: ${this.groups.length} design groups, ${this.genericTypes.size} generic compositions detected`);
|
|
213
212
|
for (const g of this.groups) {
|
|
214
213
|
const ratios = Array.from(g.designs.keys()).join(", ");
|
|
215
|
-
|
|
214
|
+
const branded = g.allCompositions.filter((c) => !c.isGeneric).length;
|
|
215
|
+
const generic = g.allCompositions.filter((c) => c.isGeneric).length;
|
|
216
|
+
log(` - ${g.name} (${g.id}): ratios=[${ratios}], ${branded} branded + ${generic} generic compositions`);
|
|
217
|
+
}
|
|
218
|
+
if (usedPathDetection) {
|
|
219
|
+
log(` Generic types (auto-detected): ${Array.from(this.genericTypes).join(", ")}`);
|
|
216
220
|
}
|
|
217
221
|
}
|
|
218
222
|
catch (err) {
|
|
219
223
|
logError("DesignRegistry refresh failed", err);
|
|
220
|
-
// Keep stale data if we had any
|
|
221
224
|
}
|
|
222
225
|
}
|
|
223
226
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-registry.js","sourceRoot":"","sources":["../src/design-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"design-registry.js","sourceRoot":"","sources":["../src/design-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -321,38 +321,46 @@ export function registerProjectTools(server, apiClient, _config, designRegistry)
|
|
|
321
321
|
],
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
|
-
// 4. Fetch project and swap
|
|
325
|
-
//
|
|
326
|
-
//
|
|
324
|
+
// 4. Fetch project and swap media-based scene compositions to generic types.
|
|
325
|
+
// Only video/image scenes are swapped — text scenes are kept as-is
|
|
326
|
+
// because they have content assets (text, logos) that would be lost
|
|
327
|
+
// if swapped to vid_clean (which has no media assigned by the pipeline).
|
|
327
328
|
try {
|
|
328
329
|
const project = await apiClient.getProject(projectId);
|
|
329
330
|
const scenes = project.scenes || [];
|
|
330
|
-
const genericComps = designRegistry.getGenericCompositions(targetRatio);
|
|
331
331
|
let swapCount = 0;
|
|
332
|
+
let keptCount = 0;
|
|
332
333
|
for (let i = 0; i < scenes.length; i++) {
|
|
333
334
|
const scene = scenes[i];
|
|
334
335
|
const currentComp = scene.compositionType || scene.copy?.compositionType;
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
336
|
+
if (!currentComp) {
|
|
337
|
+
log(` Scene ${i} (${scene.id}): no composition type — skipping`);
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
// Smart mapping: only swap media scenes, keep text scenes
|
|
341
|
+
const genericTarget = designRegistry.mapToGenericForUgc(currentComp);
|
|
342
|
+
if (genericTarget) {
|
|
338
343
|
try {
|
|
339
|
-
await apiClient.updateSceneComposition(projectId, scene.id,
|
|
344
|
+
await apiClient.updateSceneComposition(projectId, scene.id, genericTarget);
|
|
340
345
|
swapCount++;
|
|
341
|
-
log(` Scene ${i} (${scene.id}): ${currentComp
|
|
346
|
+
log(` Scene ${i} (${scene.id}): ${currentComp} → ${genericTarget}`);
|
|
342
347
|
}
|
|
343
348
|
catch (err) {
|
|
344
349
|
logError(`Failed to swap composition for scene ${scene.id}`, err);
|
|
345
350
|
}
|
|
346
351
|
}
|
|
347
352
|
else {
|
|
348
|
-
|
|
353
|
+
keptCount++;
|
|
354
|
+
log(` Scene ${i} (${scene.id}): kept ${currentComp} (${designRegistry.isGenericComposition(currentComp) ? "already generic" : "text/graphic — no swap"})`);
|
|
349
355
|
}
|
|
350
356
|
}
|
|
351
|
-
if (swapCount > 0) {
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
357
|
+
if (swapCount > 0 || keptCount > 0) {
|
|
358
|
+
const parts = [];
|
|
359
|
+
if (swapCount > 0)
|
|
360
|
+
parts.push(`swapped ${swapCount} media scenes to generic`);
|
|
361
|
+
if (keptCount > 0)
|
|
362
|
+
parts.push(`kept ${keptCount} scenes as-is`);
|
|
363
|
+
optimizationNotes.push(`Composition optimization: ${parts.join(", ")} (${scenes.length} total)`);
|
|
356
364
|
}
|
|
357
365
|
// 5. Set edit aspect ratio to 9/16
|
|
358
366
|
if (project.edits && project.edits.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../src/tools/project-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../src/tools/project-tools.ts"],"names":[],"mappings":"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"}
|