@shuffll/mcp-server 1.3.0 → 1.5.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/build/design-registry.d.ts +30 -24
- package/build/design-registry.js +142 -104
- package/build/design-registry.js.map +1 -1
- package/build/tools/project-tools.js +47 -16
- package/build/tools/project-tools.js.map +1 -1
- package/build/types.d.ts +20 -0
- package/package.json +1 -1
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import { ShufflApiClient } from "./api-client.js";
|
|
2
|
+
import type { UgcSceneContext } from "./types.js";
|
|
3
|
+
interface CompositionEntry {
|
|
4
|
+
type: string;
|
|
5
|
+
isGeneric: boolean;
|
|
6
|
+
}
|
|
2
7
|
interface CachedDesignGroup {
|
|
3
8
|
id: string;
|
|
4
9
|
name: string;
|
|
5
10
|
/** aspectRatio → designId */
|
|
6
11
|
designs: Map<string, string>;
|
|
7
|
-
/** composition
|
|
8
|
-
|
|
12
|
+
/** All composition entries (branded + generic, with classification) */
|
|
13
|
+
allCompositions: CompositionEntry[];
|
|
9
14
|
}
|
|
10
15
|
/**
|
|
11
16
|
* Discovers and caches available design groups, their aspect-ratio
|
|
12
17
|
* variants, and composition types from platform templates.
|
|
13
18
|
* Refreshes periodically so the MCP server stays up-to-date.
|
|
14
19
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
20
|
+
* Generic compositions are detected **adaptively** by inspecting each
|
|
21
|
+
* composition's layout path in the API response. If the path contains
|
|
22
|
+
* "generic-designs", the composition is classified as generic.
|
|
18
23
|
*/
|
|
19
24
|
export declare class DesignRegistry {
|
|
20
25
|
private apiClient;
|
|
@@ -22,43 +27,44 @@ export declare class DesignRegistry {
|
|
|
22
27
|
private groups;
|
|
23
28
|
private refreshTimer;
|
|
24
29
|
private initialized;
|
|
30
|
+
/** Dynamically discovered generic composition types. */
|
|
31
|
+
private genericTypes;
|
|
25
32
|
constructor(apiClient: ShufflApiClient, refreshIntervalMs?: number);
|
|
26
33
|
initialize(): Promise<void>;
|
|
27
34
|
dispose(): void;
|
|
28
35
|
/**
|
|
29
36
|
* Find a design group that supports the given aspect ratio.
|
|
30
|
-
* Returns the first matching group's designGroupId and designId.
|
|
31
37
|
*/
|
|
32
38
|
findDesignForAspectRatio(ratio: string): {
|
|
33
39
|
designGroupId: string;
|
|
34
40
|
designId: string;
|
|
35
41
|
} | null;
|
|
36
42
|
/**
|
|
37
|
-
* Returns
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* when calling updateSceneComposition.
|
|
43
|
+
* Returns all discovered generic composition type names.
|
|
44
|
+
* Detected adaptively from the API response — new compositions
|
|
45
|
+
* added to the generic designs collection are picked up automatically.
|
|
41
46
|
*/
|
|
42
|
-
getGenericCompositions(
|
|
47
|
+
getGenericCompositions(): string[];
|
|
43
48
|
/**
|
|
44
|
-
* Check whether a composition type
|
|
45
|
-
* (i.e. it's a clean, unbranded layout).
|
|
49
|
+
* Check whether a composition type is a generic (clean, unbranded) layout.
|
|
46
50
|
*/
|
|
47
|
-
isGenericComposition(compositionType: string
|
|
51
|
+
isGenericComposition(compositionType: string): boolean;
|
|
48
52
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
53
|
+
* Smart UGC composition mapping that considers scene context.
|
|
54
|
+
*
|
|
55
|
+
* Uses scene position (hook/content/CTA), composition prefix, and
|
|
56
|
+
* available generic types to pick the best composition for UGC.
|
|
52
57
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* - Middle scenes → vid_clean (content — full-screen stock footage / AI video)
|
|
58
|
+
* Key constraint: post-creation composition swaps don't re-assign media
|
|
59
|
+
* (stock footage/images). Only swap scenes where the composition change
|
|
60
|
+
* adds value without losing critical content.
|
|
57
61
|
*
|
|
58
|
-
*
|
|
59
|
-
* is driven by the voiceover script and stock footage.
|
|
62
|
+
* Returns { target, reason } — target is null to keep the current composition.
|
|
60
63
|
*/
|
|
61
|
-
|
|
64
|
+
mapToGenericForUgcSmart(ctx: UgcSceneContext): {
|
|
65
|
+
target: string | null;
|
|
66
|
+
reason: string;
|
|
67
|
+
};
|
|
62
68
|
/**
|
|
63
69
|
* Returns all discovered design groups (for debugging / logging).
|
|
64
70
|
*/
|
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,79 @@ 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
|
+
* Smart UGC composition mapping that considers scene context.
|
|
141
99
|
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* - Last scene → vid_clean (CTA delivered via voiceover over clean video)
|
|
145
|
-
* - Middle scenes → vid_clean (content — full-screen stock footage / AI video)
|
|
100
|
+
* Uses scene position (hook/content/CTA), composition prefix, and
|
|
101
|
+
* available generic types to pick the best composition for UGC.
|
|
146
102
|
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
103
|
+
* Key constraint: post-creation composition swaps don't re-assign media
|
|
104
|
+
* (stock footage/images). Only swap scenes where the composition change
|
|
105
|
+
* adds value without losing critical content.
|
|
106
|
+
*
|
|
107
|
+
* Returns { target, reason } — target is null to keep the current composition.
|
|
149
108
|
*/
|
|
150
|
-
|
|
151
|
-
const
|
|
152
|
-
//
|
|
153
|
-
if (
|
|
154
|
-
return "
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
109
|
+
mapToGenericForUgcSmart(ctx) {
|
|
110
|
+
const comp = ctx.currentComposition;
|
|
111
|
+
// Already generic — no swap needed
|
|
112
|
+
if (this.isGenericComposition(comp)) {
|
|
113
|
+
return { target: null, reason: "already generic" };
|
|
114
|
+
}
|
|
115
|
+
const isFirst = ctx.index === 0;
|
|
116
|
+
const isLast = ctx.index === ctx.totalScenes - 1;
|
|
117
|
+
const isVideoScene = comp.startsWith("vid_");
|
|
118
|
+
const isImageScene = comp.startsWith("img_");
|
|
119
|
+
const isTextScene = !isVideoScene && !isImageScene;
|
|
120
|
+
// --- Hook scene (first) ---
|
|
121
|
+
if (isFirst) {
|
|
122
|
+
if (isVideoScene && this.genericTypes.has("vid_clean")) {
|
|
123
|
+
return { target: "vid_clean", reason: "hook: clean full-frame video" };
|
|
124
|
+
}
|
|
125
|
+
// Text/image hooks keep their branded design assets
|
|
126
|
+
return { target: null, reason: "hook: keeping branded layout (has design assets)" };
|
|
127
|
+
}
|
|
128
|
+
// --- CTA scene (last) ---
|
|
129
|
+
if (isLast) {
|
|
130
|
+
if (isTextScene) {
|
|
131
|
+
return { target: null, reason: "CTA: keeping branded text layout" };
|
|
132
|
+
}
|
|
133
|
+
if (isVideoScene && this.genericTypes.has("vid_clean")) {
|
|
134
|
+
return { target: "vid_clean", reason: "CTA: clean video outro" };
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// --- Middle video scenes ---
|
|
138
|
+
if (isVideoScene) {
|
|
139
|
+
if (this.genericTypes.has("vid_clean")) {
|
|
140
|
+
return { target: "vid_clean", reason: "content: clean full-frame video" };
|
|
141
|
+
}
|
|
142
|
+
return { target: null, reason: "content: no vid_clean available" };
|
|
143
|
+
}
|
|
144
|
+
// --- Middle image scenes ---
|
|
145
|
+
if (isImageScene) {
|
|
146
|
+
if (this.genericTypes.has("img_slides")) {
|
|
147
|
+
return { target: "img_slides", reason: "content: clean image slideshow" };
|
|
148
|
+
}
|
|
149
|
+
if (this.genericTypes.has("img_single_static")) {
|
|
150
|
+
return { target: "img_single_static", reason: "content: static image" };
|
|
151
|
+
}
|
|
152
|
+
return { target: null, reason: "content: no suitable image generic found" };
|
|
153
|
+
}
|
|
154
|
+
// --- Middle text/graphic scenes ---
|
|
155
|
+
// Keep as-is: swapping would lose content (text scenes have no media assets)
|
|
156
|
+
return { target: null, reason: "text/graphic: keeping branded layout (no media to show if swapped)" };
|
|
161
157
|
}
|
|
162
158
|
/**
|
|
163
159
|
* Returns all discovered design groups (for debugging / logging).
|
|
@@ -175,49 +171,91 @@ export class DesignRegistry {
|
|
|
175
171
|
try {
|
|
176
172
|
const templates = await this.apiClient.getPlatformTemplates();
|
|
177
173
|
const groupMap = new Map();
|
|
174
|
+
const discoveredGenericTypes = new Set();
|
|
175
|
+
let usedPathDetection = false;
|
|
178
176
|
for (const template of templates) {
|
|
179
177
|
const dg = template.designGroup;
|
|
180
178
|
if (!dg || !dg._id)
|
|
181
179
|
continue;
|
|
182
180
|
const dgId = String(dg._id);
|
|
183
181
|
if (groupMap.has(dgId))
|
|
184
|
-
continue;
|
|
182
|
+
continue;
|
|
185
183
|
const name = String(dg.name || "Unknown");
|
|
186
184
|
const designs = new Map();
|
|
187
|
-
const
|
|
188
|
-
// Extract aspect-ratio → designId mappings
|
|
185
|
+
const allCompositions = [];
|
|
186
|
+
// Extract aspect-ratio → designId mappings
|
|
189
187
|
const metadata = dg.designsMetadata;
|
|
190
188
|
if (Array.isArray(metadata)) {
|
|
191
189
|
for (const entry of metadata) {
|
|
192
|
-
if (entry.aspectRatio && entry.
|
|
193
|
-
designs.set(String(entry.aspectRatio), String(entry.
|
|
190
|
+
if (entry.aspectRatio && entry._id) {
|
|
191
|
+
designs.set(String(entry.aspectRatio), String(entry._id));
|
|
194
192
|
}
|
|
195
193
|
}
|
|
196
194
|
}
|
|
197
|
-
// Extract
|
|
195
|
+
// Extract compositions and classify generic vs branded
|
|
198
196
|
const chosenDesign = dg.chosenDesign;
|
|
199
197
|
if (chosenDesign) {
|
|
200
198
|
const comps = chosenDesign.compositions;
|
|
201
199
|
if (Array.isArray(comps)) {
|
|
202
200
|
for (const comp of comps) {
|
|
203
|
-
if (comp.type)
|
|
204
|
-
|
|
201
|
+
if (!comp.type)
|
|
202
|
+
continue;
|
|
203
|
+
const compType = String(comp.type);
|
|
204
|
+
// Adaptive detection: check if any layout path contains "generic-designs"
|
|
205
|
+
let isGeneric = false;
|
|
206
|
+
const layouts = comp.layouts;
|
|
207
|
+
if (Array.isArray(layouts)) {
|
|
208
|
+
for (const layout of layouts) {
|
|
209
|
+
const relPath = layout.relativeLottiePath;
|
|
210
|
+
const basePath = layout.baseDesignPath;
|
|
211
|
+
if ((relPath && relPath.includes("generic-designs")) ||
|
|
212
|
+
(basePath && basePath.includes("generic-designs"))) {
|
|
213
|
+
isGeneric = true;
|
|
214
|
+
usedPathDetection = true;
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// Fallback: if no path info available, check against known list
|
|
220
|
+
if (!isGeneric && !usedPathDetection) {
|
|
221
|
+
isGeneric = FALLBACK_GENERIC_TYPES.has(compType);
|
|
222
|
+
}
|
|
223
|
+
allCompositions.push({ type: compType, isGeneric });
|
|
224
|
+
if (isGeneric) {
|
|
225
|
+
discoveredGenericTypes.add(compType);
|
|
205
226
|
}
|
|
206
227
|
}
|
|
207
228
|
}
|
|
208
229
|
}
|
|
209
|
-
groupMap.set(dgId, { id: dgId, name, designs,
|
|
230
|
+
groupMap.set(dgId, { id: dgId, name, designs, allCompositions });
|
|
210
231
|
}
|
|
211
232
|
this.groups = Array.from(groupMap.values());
|
|
212
|
-
|
|
233
|
+
// If path-based detection found nothing but fallback did, use fallback set
|
|
234
|
+
if (discoveredGenericTypes.size === 0 && !usedPathDetection) {
|
|
235
|
+
this.genericTypes = new Set(FALLBACK_GENERIC_TYPES);
|
|
236
|
+
log("DesignRegistry: using fallback generic composition list (no path info in API response)");
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
this.genericTypes = discoveredGenericTypes;
|
|
240
|
+
}
|
|
241
|
+
log(`DesignRegistry refreshed: ${this.groups.length} design groups, ${this.genericTypes.size} generic compositions detected`);
|
|
213
242
|
for (const g of this.groups) {
|
|
214
243
|
const ratios = Array.from(g.designs.keys()).join(", ");
|
|
215
|
-
|
|
244
|
+
const branded = g.allCompositions.filter((c) => !c.isGeneric).length;
|
|
245
|
+
const generic = g.allCompositions.filter((c) => c.isGeneric).length;
|
|
246
|
+
log(` - ${g.name} (${g.id}): ratios=[${ratios}], ${branded} branded + ${generic} generic compositions`);
|
|
247
|
+
}
|
|
248
|
+
if (usedPathDetection) {
|
|
249
|
+
log(` Generic types (auto-detected): ${Array.from(this.genericTypes).join(", ")}`);
|
|
250
|
+
}
|
|
251
|
+
// Warn if no 9/16 design is available (common requirement for UGC)
|
|
252
|
+
const has916 = this.groups.some((g) => g.designs.has("9/16"));
|
|
253
|
+
if (!has916) {
|
|
254
|
+
log("DesignRegistry WARNING: no design group found with 9/16 support — UGC tool will use default design");
|
|
216
255
|
}
|
|
217
256
|
}
|
|
218
257
|
catch (err) {
|
|
219
258
|
logError("DesignRegistry refresh failed", err);
|
|
220
|
-
// Keep stale data if we had any
|
|
221
259
|
}
|
|
222
260
|
}
|
|
223
261
|
}
|
|
@@ -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,68 @@ export function registerProjectTools(server, apiClient, _config, designRegistry)
|
|
|
321
321
|
],
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
|
-
// 4. Fetch project and
|
|
325
|
-
//
|
|
326
|
-
//
|
|
324
|
+
// 4. Fetch project and perform smart per-scene composition analysis.
|
|
325
|
+
// Uses scene context (position, type, content) to decide whether to
|
|
326
|
+
// swap to a generic composition or keep the branded layout.
|
|
327
|
+
// Key constraint: post-creation swaps don't re-assign media (stock
|
|
328
|
+
// footage/images), so only swap scenes where it adds value.
|
|
329
|
+
const sceneAnalysis = [];
|
|
327
330
|
try {
|
|
328
331
|
const project = await apiClient.getProject(projectId);
|
|
329
332
|
const scenes = project.scenes || [];
|
|
330
|
-
const genericComps = designRegistry.getGenericCompositions(targetRatio);
|
|
331
333
|
let swapCount = 0;
|
|
334
|
+
let keptCount = 0;
|
|
332
335
|
for (let i = 0; i < scenes.length; i++) {
|
|
333
336
|
const scene = scenes[i];
|
|
334
337
|
const currentComp = scene.compositionType || scene.copy?.compositionType;
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
+
if (!currentComp) {
|
|
339
|
+
log(` Scene ${i} (${scene.id}): no composition type — skipping`);
|
|
340
|
+
continue;
|
|
341
|
+
}
|
|
342
|
+
// Build scene context for smart mapping
|
|
343
|
+
const ctx = {
|
|
344
|
+
index: i,
|
|
345
|
+
totalScenes: scenes.length,
|
|
346
|
+
name: scene.name || `Scene ${i + 1}`,
|
|
347
|
+
script: scene.copy?.script || "",
|
|
348
|
+
currentComposition: currentComp,
|
|
349
|
+
hasImagePrompt: !!(scene.copy?.imagePrompt),
|
|
350
|
+
isGraphicScene: !!(scene.isGraphicScene),
|
|
351
|
+
};
|
|
352
|
+
const { target, reason } = designRegistry.mapToGenericForUgcSmart(ctx);
|
|
353
|
+
let wasSwapped = false;
|
|
354
|
+
if (target) {
|
|
338
355
|
try {
|
|
339
|
-
await apiClient.updateSceneComposition(projectId, scene.id,
|
|
356
|
+
await apiClient.updateSceneComposition(projectId, scene.id, target);
|
|
357
|
+
wasSwapped = true;
|
|
340
358
|
swapCount++;
|
|
341
|
-
log(` Scene ${i} (${scene.id}): ${currentComp
|
|
359
|
+
log(` Scene ${i} (${scene.id}): ${currentComp} → ${target} [${reason}]`);
|
|
342
360
|
}
|
|
343
361
|
catch (err) {
|
|
344
362
|
logError(`Failed to swap composition for scene ${scene.id}`, err);
|
|
345
363
|
}
|
|
346
364
|
}
|
|
347
365
|
else {
|
|
348
|
-
|
|
366
|
+
keptCount++;
|
|
367
|
+
log(` Scene ${i} (${scene.id}): kept ${currentComp} [${reason}]`);
|
|
349
368
|
}
|
|
369
|
+
sceneAnalysis.push({
|
|
370
|
+
sceneId: scene.id,
|
|
371
|
+
sceneName: ctx.name,
|
|
372
|
+
sceneIndex: i,
|
|
373
|
+
originalComposition: currentComp,
|
|
374
|
+
targetComposition: target,
|
|
375
|
+
reason,
|
|
376
|
+
wasSwapped,
|
|
377
|
+
});
|
|
350
378
|
}
|
|
351
|
-
if (swapCount > 0) {
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
379
|
+
if (swapCount > 0 || keptCount > 0) {
|
|
380
|
+
const parts = [];
|
|
381
|
+
if (swapCount > 0)
|
|
382
|
+
parts.push(`swapped ${swapCount} media scenes to generic`);
|
|
383
|
+
if (keptCount > 0)
|
|
384
|
+
parts.push(`kept ${keptCount} scenes as-is`);
|
|
385
|
+
optimizationNotes.push(`Composition optimization: ${parts.join(", ")} (${scenes.length} total)`);
|
|
356
386
|
}
|
|
357
387
|
// 5. Set edit aspect ratio to 9/16
|
|
358
388
|
if (project.edits && project.edits.length > 0) {
|
|
@@ -382,8 +412,9 @@ export function registerProjectTools(server, apiClient, _config, designRegistry)
|
|
|
382
412
|
projectId,
|
|
383
413
|
ugcOptimized,
|
|
384
414
|
optimizationNotes,
|
|
415
|
+
sceneAnalysis: sceneAnalysis.length > 0 ? sceneAnalysis : undefined,
|
|
385
416
|
message: ugcOptimized
|
|
386
|
-
? "UGC project created and optimized for 9/16. Use get_project to see full details."
|
|
417
|
+
? "UGC project created and optimized for 9/16. Use get_project to see full details. Use update_scene_composition to adjust individual scenes if needed."
|
|
387
418
|
: "Project created but optimization was partial. Check notes for details.",
|
|
388
419
|
}, null, 2),
|
|
389
420
|
},
|
|
@@ -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":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,oBAAoB,CAClC,MAAiB,EACjB,SAA0B,EAC1B,OAAwB,EACxB,cAA8B;IAE9B,mEAAmE;IACnE,uBAAuB;IACvB,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,uLAAuL,EACvL;QACE,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,CACP,uFAAuF,CACxF;QACH,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC7C,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CACP,sIAAsI,CACvI;QACH,WAAW,EAAE,CAAC;aACX,IAAI,CAAC;YACJ,SAAS;YACT,cAAc;YACd,aAAa;YACb,eAAe;YACf,WAAW;SACZ,CAAC;aACD,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5C,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,EAAE;aACV,QAAQ,CAAC,qCAAqC,CAAC;QAClD,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gHAAgH,CACjH;QACH,WAAW,EAAE,CAAC;aACX,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,EAAE;aACV,QAAQ,CAAC,2EAA2E,CAAC;QACxF,UAAU,EAAE,CAAC;aACV,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,WAAW,EAAE,CAAC;aACX,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aAC7B,QAAQ,EAAE;aACV,QAAQ,CACP,2LAA2L,CAC5L;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;YACL,eAAe;YACf,kBAAkB;YAClB,qBAAqB;YACrB,oBAAoB;SACrB,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,8QAA8Q,CAC/Q;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;YACL,eAAe;YACf,oBAAoB;YACpB,kBAAkB;SACnB,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,oOAAoO,CACrO;KACJ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,IAAI,GAAyB;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACzC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,YAAY,EAAE,IAAI,CAAC,UAAU;gBAC7B,8CAA8C;gBAC9C,oBAAoB,EAAG,IAAI,CAAC,YAAkC,IAAI;oBAChE,eAAe;iBAChB;gBACD,oBAAoB,EAAG,IAAI,CAAC,YAAkC,IAAI;oBAChE,eAAe;iBAChB;aACF,CAAC;YAEF,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,gEAAgE;YAChE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,WAAW,GAAG,cAAc,CAAC,wBAAwB,CACzD,IAAI,CAAC,WAAW,CACjB,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;oBAC/C,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;oBACrC,KAAK,CAAC,IAAI,CACR,uBAAuB,IAAI,CAAC,WAAW,WAAW,WAAW,CAAC,aAAa,YAAY,WAAW,CAAC,QAAQ,EAAE,CAC9G,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CACR,6BAA6B,IAAI,CAAC,WAAW,2FAA2F,CACzI,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEnD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;4BACrC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;4BACvC,OAAO,EACL,8EAA8E;gCAC9E,CAAC,IAAI,CAAC,WAAW;oCACf,CAAC,CAAC,wBAAwB,IAAI,CAAC,WAAW,oDAAoD,IAAI,CAAC,WAAW,iDAAiD;oCAC/J,CAAC,CAAC,EAAE,CAAC;yBACV,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,cAAc;IACd,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,aAAa,EACb,4GAA4G,EAC5G;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KAC7D,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3D,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAClE;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,8BAA8B;IAC9B,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,6BAA6B,EAC7B,kOAAkO,EAClO;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC1D,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBACjE;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,iBAAiB;IACjB,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,yKAAyK,EACzK;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC1D,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,CACP,+DAA+D,CAChE;QACH,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC1D,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,CAC1C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,CACX,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBACjE;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,iBAAiB;IACjB,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,iEAAiE,EACjE;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAC3D,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,WAAW,IAAI,CAAC,SAAS,wBAAwB;yBAC3D,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,mEAAmE;IACnE,6CAA6C;IAC7C,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,wSAAwS,EACxS;QACE,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,CACP,wFAAwF,CACzF;QACH,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC7C,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CAAC,eAAe,CAAC;QAC5B,WAAW,EAAE,CAAC;aACX,IAAI,CAAC;YACJ,SAAS;YACT,cAAc;YACd,aAAa;YACb,eAAe;YACf,WAAW;SACZ,CAAC;aACD,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5C,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,EAAE;aACV,QAAQ,CAAC,qCAAqC,CAAC;QAClD,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sBAAsB,CAAC;QACnC,YAAY,EAAE,CAAC;aACZ,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;YACL,eAAe;YACf,kBAAkB;YAClB,qBAAqB;YACrB,oBAAoB;SACrB,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,+EAA+E,CAChF;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;YACL,eAAe;YACf,oBAAoB;YACpB,kBAAkB;SACnB,CAAC,CACH;aACA,QAAQ,EAAE;aACV,QAAQ,CACP,+EAA+E,CAChF;KACJ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,CAAC;YAC3B,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,iBAAiB,GAAa,EAAE,CAAC;YAEvC,+CAA+C;YAC/C,iEAAiE;YACjE,kEAAkE;YAClE,MAAM,WAAW,GAAG,cAAc,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAEzE,MAAM,IAAI,GAAyB;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACzC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,qEAAqE;gBACrE,aAAa,EAAE,KAAK;gBACpB,YAAY,EAAE,KAAK;gBACnB,8CAA8C;gBAC9C,oBAAoB,EAAG,IAAI,CAAC,YAAkC,IAAI;oBAChE,eAAe;iBAChB;gBACD,oBAAoB,EAAG,IAAI,CAAC,YAAkC,IAAI;oBAChE,eAAe;iBAChB;aACF,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;gBAC/C,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;gBACrC,iBAAiB,CAAC,IAAI,CACpB,4BAA4B,WAAW,CAAC,aAAa,YAAY,WAAW,CAAC,QAAQ,EAAE,CACxF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,IAAI,CACpB,+DAA+D,CAChE,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;YACzC,GAAG,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;YAEzC,iDAAiD;YACjD,IAAI,CAAC;gBACH,MAAM,aAAa,CACjB,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAC5C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,EACpC,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CACzC,CAAC;gBACF,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB,CAAC,IAAI,CACpB,8DAA8D,CAC/D,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;gCACE,SAAS;gCACT,YAAY,EAAE,KAAK;gCACnB,iBAAiB;gCACjB,OAAO,EACL,6HAA6H;6BAChI,EACD,IAAI,EACJ,CAAC,CACF;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,qEAAqE;YACrE,uEAAuE;YACvE,+DAA+D;YAC/D,sEAAsE;YACtE,+DAA+D;YAC/D,MAAM,aAAa,GAAuB,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;gBACpC,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;oBAEzE,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE,mCAAmC,CAAC,CAAC;wBAClE,SAAS;oBACX,CAAC;oBAED,wCAAwC;oBACxC,MAAM,GAAG,GAAoB;wBAC3B,KAAK,EAAE,CAAC;wBACR,WAAW,EAAE,MAAM,CAAC,MAAM;wBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;wBACpC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE;wBAChC,kBAAkB,EAAE,WAAW;wBAC/B,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC;wBAC3C,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;qBACzC,CAAC;oBAEF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;oBACvE,IAAI,UAAU,GAAG,KAAK,CAAC;oBAEvB,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,CAAC;4BACH,MAAM,SAAS,CAAC,sBAAsB,CACpC,SAAS,EACT,KAAK,CAAC,EAAE,EACR,MAAM,CACP,CAAC;4BACF,UAAU,GAAG,IAAI,CAAC;4BAClB,SAAS,EAAE,CAAC;4BACZ,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE,MAAM,WAAW,MAAM,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC;wBAC5E,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,QAAQ,CACN,wCAAwC,KAAK,CAAC,EAAE,EAAE,EAClD,GAAG,CACJ,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,SAAS,EAAE,CAAC;wBACZ,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE,WAAW,WAAW,KAAK,MAAM,GAAG,CAAC,CAAC;oBACrE,CAAC;oBAED,aAAa,CAAC,IAAI,CAAC;wBACjB,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,SAAS,EAAE,GAAG,CAAC,IAAI;wBACnB,UAAU,EAAE,CAAC;wBACb,mBAAmB,EAAE,WAAW;wBAChC,iBAAiB,EAAE,MAAM;wBACzB,MAAM;wBACN,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,IAAI,SAAS,GAAG,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,0BAA0B,CAAC,CAAC;oBAC9E,IAAI,SAAS,GAAG,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,SAAS,eAAe,CAAC,CAAC;oBAChE,iBAAiB,CAAC,IAAI,CACpB,6BAA6B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,SAAS,CACzE,CAAC;gBACJ,CAAC;gBAED,mCAAmC;gBACnC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC;wBACH,MAAM,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE;4BACpD,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE;yBAC3C,CAAC,CAAC;wBACH,iBAAiB,CAAC,IAAI,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;oBACpE,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,QAAQ,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;wBACjD,iBAAiB,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBAED,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;gBAC/C,iBAAiB,CAAC,IAAI,CACpB,oFAAoF,CACrF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,SAAS;4BACT,YAAY;4BACZ,iBAAiB;4BACjB,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;4BACnE,OAAO,EAAE,YAAY;gCACnB,CAAC,CAAC,sJAAsJ;gCACxJ,CAAC,CAAC,wEAAwE;yBAC7E,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/build/types.d.ts
CHANGED
|
@@ -173,3 +173,23 @@ export interface PromptSuggestion {
|
|
|
173
173
|
};
|
|
174
174
|
suggestions: string[];
|
|
175
175
|
}
|
|
176
|
+
/** Minimal scene info for UGC composition mapping decisions. */
|
|
177
|
+
export interface UgcSceneContext {
|
|
178
|
+
index: number;
|
|
179
|
+
totalScenes: number;
|
|
180
|
+
name: string;
|
|
181
|
+
script: string;
|
|
182
|
+
currentComposition: string;
|
|
183
|
+
hasImagePrompt: boolean;
|
|
184
|
+
isGraphicScene: boolean;
|
|
185
|
+
}
|
|
186
|
+
/** Per-scene result of UGC composition analysis. */
|
|
187
|
+
export interface UgcSceneAnalysis {
|
|
188
|
+
sceneId: string;
|
|
189
|
+
sceneName: string;
|
|
190
|
+
sceneIndex: number;
|
|
191
|
+
originalComposition: string;
|
|
192
|
+
targetComposition: string | null;
|
|
193
|
+
reason: string;
|
|
194
|
+
wasSwapped: boolean;
|
|
195
|
+
}
|