hanseol-dev 5.0.2-dev.132 → 5.0.2-dev.134
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/dist/agents/office/powerpoint-create-agent.d.ts.map +1 -1
- package/dist/agents/office/powerpoint-create-agent.js +168 -2
- package/dist/agents/office/powerpoint-create-agent.js.map +1 -1
- package/dist/agents/office/powerpoint-create-prompts.d.ts +24 -1
- package/dist/agents/office/powerpoint-create-prompts.d.ts.map +1 -1
- package/dist/agents/office/powerpoint-create-prompts.js +505 -64
- package/dist/agents/office/powerpoint-create-prompts.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"powerpoint-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAmtDhE,wBAAgB,iCAAiC,IAAI,YAAY,CAkChE"}
|
|
@@ -4,7 +4,7 @@ import { powerpointClient } from '../../tools/office/powerpoint-client.js';
|
|
|
4
4
|
import { getSubAgentPhaseLogger, getSubAgentToolCallLogger } from '../common/sub-agent.js';
|
|
5
5
|
import { logger } from '../../utils/logger.js';
|
|
6
6
|
import { getPlatform } from '../../utils/platform-utils.js';
|
|
7
|
-
import { PPT_CREATE_ENHANCEMENT_PROMPT, PPT_STRUCTURED_PLANNING_PROMPT, buildSlideHtmlPrompt, } from './powerpoint-create-prompts.js';
|
|
7
|
+
import { PPT_CREATE_ENHANCEMENT_PROMPT, PPT_STRUCTURED_PLANNING_PROMPT, buildSlideHtmlPrompt, buildReviewPrompt, extractLayoutHint, checkLayoutCompliance, postProcessSlideHtml, buildLayoutSetPrompt, parseLayoutSet, buildAllSkeletonsPrompt, parseSkeletons, buildFillPrompt, } from './powerpoint-create-prompts.js';
|
|
8
8
|
const DEFAULT_DESIGN = {
|
|
9
9
|
primary_color: '#1B2A4A',
|
|
10
10
|
accent_color: '#00D4AA',
|
|
@@ -850,6 +850,56 @@ async function runStructured(llmClient, instruction, explicitSavePath) {
|
|
|
850
850
|
}
|
|
851
851
|
}
|
|
852
852
|
}
|
|
853
|
+
let layoutTemplates = [];
|
|
854
|
+
let slideSkeletons = new Map();
|
|
855
|
+
if (plan.design) {
|
|
856
|
+
try {
|
|
857
|
+
if (phaseLogger)
|
|
858
|
+
phaseLogger('powerpoint-create', 'layout-set', 'Generating custom layout components...');
|
|
859
|
+
const layoutSetPrompt = buildLayoutSetPrompt(plan.design);
|
|
860
|
+
const layoutRes = await llmClient.chatCompletion({
|
|
861
|
+
messages: [
|
|
862
|
+
{ role: 'system', content: layoutSetPrompt },
|
|
863
|
+
{ role: 'user', content: 'Generate the layout components now. Start with ---LAYOUT: and end each with ---END---.' },
|
|
864
|
+
],
|
|
865
|
+
temperature: 0.7,
|
|
866
|
+
max_tokens: 10000,
|
|
867
|
+
});
|
|
868
|
+
const layoutRaw = layoutRes.choices[0]?.message;
|
|
869
|
+
const layoutText = layoutRaw ? extractContent(layoutRaw) : '';
|
|
870
|
+
layoutTemplates = parseLayoutSet(layoutText);
|
|
871
|
+
logger.info(`Layout Set: generated ${layoutTemplates.length} templates: ${layoutTemplates.map(l => l.name).join(', ')}`);
|
|
872
|
+
if (phaseLogger)
|
|
873
|
+
phaseLogger('powerpoint-create', 'layout-set', `Generated ${layoutTemplates.length} layout templates`);
|
|
874
|
+
}
|
|
875
|
+
catch (e) {
|
|
876
|
+
logger.warn(`Layout Set generation failed, will use fallback: ${e}`);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
if (layoutTemplates.length >= 4) {
|
|
880
|
+
try {
|
|
881
|
+
if (phaseLogger)
|
|
882
|
+
phaseLogger('powerpoint-create', 'skeleton', 'Generating slide skeletons...');
|
|
883
|
+
const skeletonPrompt = buildAllSkeletonsPrompt(plan.slides, layoutTemplates);
|
|
884
|
+
const skeletonRes = await llmClient.chatCompletion({
|
|
885
|
+
messages: [
|
|
886
|
+
{ role: 'system', content: skeletonPrompt },
|
|
887
|
+
{ role: 'user', content: 'Generate skeletons for all content slides. Use ===SLIDE:N=== format.' },
|
|
888
|
+
],
|
|
889
|
+
temperature: 0.3,
|
|
890
|
+
max_tokens: 8000,
|
|
891
|
+
});
|
|
892
|
+
const skeletonRaw = skeletonRes.choices[0]?.message;
|
|
893
|
+
const skeletonText = skeletonRaw ? extractContent(skeletonRaw) : '';
|
|
894
|
+
slideSkeletons = parseSkeletons(skeletonText);
|
|
895
|
+
logger.info(`Skeletons: generated ${slideSkeletons.size} slide skeletons`);
|
|
896
|
+
if (phaseLogger)
|
|
897
|
+
phaseLogger('powerpoint-create', 'skeleton', `Generated ${slideSkeletons.size} slide skeletons`);
|
|
898
|
+
}
|
|
899
|
+
catch (e) {
|
|
900
|
+
logger.warn(`Skeleton generation failed, will use fallback: ${e}`);
|
|
901
|
+
}
|
|
902
|
+
}
|
|
853
903
|
if (phaseLogger)
|
|
854
904
|
phaseLogger('powerpoint-create', 'execution', 'Starting HTML rendering pipeline...');
|
|
855
905
|
const { writePath: tempWritePath, winPath: tempWinPath } = getTempDir();
|
|
@@ -940,11 +990,24 @@ async function runStructured(llmClient, instruction, explicitSavePath) {
|
|
|
940
990
|
logger.info(`Slide ${slideNum}: Using code-generated overview template (${overviewItems.length} items)`);
|
|
941
991
|
}
|
|
942
992
|
}
|
|
993
|
+
let slideLayoutType = 'cards';
|
|
943
994
|
if (!html && slidePlan.type !== 'title' && slidePlan.type !== 'closing') {
|
|
944
995
|
const cleanedDirection = (slidePlan.content_direction || '')
|
|
945
996
|
.replace(/\s*Layout\s*:\s*[^\n]*/gi, '')
|
|
946
997
|
.trim();
|
|
947
|
-
|
|
998
|
+
const skeletonInfo = slideSkeletons.get(slideNum);
|
|
999
|
+
const matchedLayout = skeletonInfo
|
|
1000
|
+
? layoutTemplates.find(l => l.name === skeletonInfo.layout)
|
|
1001
|
+
: null;
|
|
1002
|
+
if (skeletonInfo && matchedLayout) {
|
|
1003
|
+
logger.info(`Slide ${slideNum}: Using skeleton "${skeletonInfo.layout}" from Phase 4`);
|
|
1004
|
+
htmlPrompt = buildFillPrompt(skeletonInfo.skeleton, matchedLayout.css, cleanedDirection, slidePlan.title, plan.design, i, plan.slides.length, language);
|
|
1005
|
+
}
|
|
1006
|
+
else {
|
|
1007
|
+
slideLayoutType = extractLayoutHint(slidePlan.content_direction || '');
|
|
1008
|
+
logger.info(`Slide ${slideNum}: Fallback to layout-specific prompt → "${slideLayoutType}"`);
|
|
1009
|
+
htmlPrompt = buildSlideHtmlPrompt(slidePlan.title, cleanedDirection, plan.design, i, plan.slides.length, language, slideLayoutType);
|
|
1010
|
+
}
|
|
948
1011
|
try {
|
|
949
1012
|
const htmlRes = await llmClient.chatCompletion({
|
|
950
1013
|
messages: [
|
|
@@ -1123,6 +1186,109 @@ async function runStructured(llmClient, instruction, explicitSavePath) {
|
|
|
1123
1186
|
}
|
|
1124
1187
|
}
|
|
1125
1188
|
}
|
|
1189
|
+
if (html && slidePlan.type === 'content') {
|
|
1190
|
+
html = postProcessSlideHtml(html);
|
|
1191
|
+
}
|
|
1192
|
+
if (htmlPrompt && html && slidePlan.type === 'content') {
|
|
1193
|
+
const MAX_LAYOUT_REGEN = 2;
|
|
1194
|
+
for (let layoutAttempt = 0; layoutAttempt < MAX_LAYOUT_REGEN; layoutAttempt++) {
|
|
1195
|
+
const complianceError = checkLayoutCompliance(html, slideLayoutType);
|
|
1196
|
+
if (!complianceError) {
|
|
1197
|
+
if (layoutAttempt > 0) {
|
|
1198
|
+
logger.info(`Slide ${slideNum}: Layout compliance OK after ${layoutAttempt} regen(s)`);
|
|
1199
|
+
}
|
|
1200
|
+
break;
|
|
1201
|
+
}
|
|
1202
|
+
logger.warn(`Slide ${slideNum}: Layout compliance FAILED — ${complianceError}`);
|
|
1203
|
+
if (phaseLogger)
|
|
1204
|
+
phaseLogger('powerpoint-create', 'execution', `Slide ${slideNum}: wrong layout, regen ${layoutAttempt + 1}/${MAX_LAYOUT_REGEN}...`);
|
|
1205
|
+
try {
|
|
1206
|
+
const regenRes = await llmClient.chatCompletion({
|
|
1207
|
+
messages: [
|
|
1208
|
+
{ role: 'system', content: htmlPrompt },
|
|
1209
|
+
{ role: 'user', content: `Generate the HTML slide now.\n\n⚠⚠⚠ CRITICAL ERROR: ${complianceError}\n\nYou MUST use the "${slideLayoutType}" layout as specified in the REQUIRED LAYOUT section above. Re-read the CSS STRUCTURE section carefully and follow it EXACTLY. Do NOT use cards or any other layout.` },
|
|
1210
|
+
],
|
|
1211
|
+
temperature: 0.2,
|
|
1212
|
+
max_tokens: 8000,
|
|
1213
|
+
});
|
|
1214
|
+
const regenMsg = regenRes.choices[0]?.message;
|
|
1215
|
+
const regenRaw = regenMsg ? extractContent(regenMsg) : '';
|
|
1216
|
+
const regenHtml = extractHtml(regenRaw);
|
|
1217
|
+
if (regenHtml) {
|
|
1218
|
+
html = regenHtml;
|
|
1219
|
+
logger.info(`Slide ${slideNum}: Regenerated for layout compliance (attempt ${layoutAttempt + 1})`);
|
|
1220
|
+
}
|
|
1221
|
+
else {
|
|
1222
|
+
break;
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
catch (e) {
|
|
1226
|
+
logger.warn(`Slide ${slideNum}: Layout regen failed: ${e}`);
|
|
1227
|
+
break;
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
const finalComplianceError = checkLayoutCompliance(html, slideLayoutType);
|
|
1231
|
+
if (!finalComplianceError) {
|
|
1232
|
+
try {
|
|
1233
|
+
if (phaseLogger)
|
|
1234
|
+
phaseLogger('powerpoint-create', 'execution', `Slide ${slideNum}: running quality review...`);
|
|
1235
|
+
const reviewPrompt = buildReviewPrompt(html, slideLayoutType, slidePlan.title);
|
|
1236
|
+
const reviewRes = await llmClient.chatCompletion({
|
|
1237
|
+
messages: [
|
|
1238
|
+
{ role: 'system', content: reviewPrompt },
|
|
1239
|
+
{ role: 'user', content: 'Review the HTML and output JSON.' },
|
|
1240
|
+
],
|
|
1241
|
+
temperature: 0.1,
|
|
1242
|
+
max_tokens: 500,
|
|
1243
|
+
});
|
|
1244
|
+
const reviewMsg = reviewRes.choices[0]?.message;
|
|
1245
|
+
const reviewRaw = reviewMsg ? extractContent(reviewMsg) : '';
|
|
1246
|
+
try {
|
|
1247
|
+
const reviewJsonMatch = reviewRaw.match(/\{[\s\S]*\}/);
|
|
1248
|
+
if (reviewJsonMatch) {
|
|
1249
|
+
const review = JSON.parse(reviewJsonMatch[0]);
|
|
1250
|
+
const layoutScore = review.layout || 0;
|
|
1251
|
+
const readabilityScore = review.readability || 0;
|
|
1252
|
+
const fillScore = review.fill || 0;
|
|
1253
|
+
logger.info(`Slide ${slideNum}: Review scores — layout:${layoutScore} readability:${readabilityScore} fill:${fillScore} pass:${review.pass}`);
|
|
1254
|
+
if (!review.pass && review.feedback) {
|
|
1255
|
+
if (phaseLogger)
|
|
1256
|
+
phaseLogger('powerpoint-create', 'execution', `Slide ${slideNum}: review failed (L:${layoutScore} R:${readabilityScore} F:${fillScore}), regen...`);
|
|
1257
|
+
try {
|
|
1258
|
+
const fixRes = await llmClient.chatCompletion({
|
|
1259
|
+
messages: [
|
|
1260
|
+
{ role: 'system', content: htmlPrompt },
|
|
1261
|
+
{ role: 'user', content: `Generate the HTML slide now.\n\nQUALITY REVIEW FEEDBACK: ${review.feedback}\n\nFix the issues identified above. Scores were: layout=${layoutScore}, readability=${readabilityScore}, fill=${fillScore}. Target: all scores ≥ 7.` },
|
|
1262
|
+
],
|
|
1263
|
+
temperature: 0.2,
|
|
1264
|
+
max_tokens: 8000,
|
|
1265
|
+
});
|
|
1266
|
+
const fixMsg = fixRes.choices[0]?.message;
|
|
1267
|
+
const fixRaw = fixMsg ? extractContent(fixMsg) : '';
|
|
1268
|
+
const fixHtml = extractHtml(fixRaw);
|
|
1269
|
+
if (fixHtml) {
|
|
1270
|
+
const fixComplianceError = checkLayoutCompliance(fixHtml, slideLayoutType);
|
|
1271
|
+
if (!fixComplianceError) {
|
|
1272
|
+
html = fixHtml;
|
|
1273
|
+
logger.info(`Slide ${slideNum}: Fixed after review feedback`);
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
catch (e) {
|
|
1278
|
+
logger.warn(`Slide ${slideNum}: Review-based regen failed: ${e}`);
|
|
1279
|
+
}
|
|
1280
|
+
}
|
|
1281
|
+
}
|
|
1282
|
+
}
|
|
1283
|
+
catch (e) {
|
|
1284
|
+
logger.debug(`Slide ${slideNum}: Review JSON parse failed: ${e}`);
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
catch (e) {
|
|
1288
|
+
logger.warn(`Slide ${slideNum}: Review LLM call failed: ${e}`);
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1126
1292
|
const htmlFileName = `hanseol_slide_${slideNum}_${timestamp}.html`;
|
|
1127
1293
|
const pngFileName = `hanseol_slide_${slideNum}_${timestamp}.png`;
|
|
1128
1294
|
const htmlWritePath = path.join(tempWritePath, htmlFileName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,30 @@ export interface DesignSystem {
|
|
|
12
12
|
mood: string;
|
|
13
13
|
design_notes: string;
|
|
14
14
|
}
|
|
15
|
-
export
|
|
15
|
+
export type LayoutType = 'cards' | 'table' | 'timeline' | 'two_col_split' | 'big_numbers' | 'bar_chart' | 'donut_chart' | 'process_flow' | 'progress_bars' | 'hero_stat';
|
|
16
|
+
export declare function extractLayoutHint(contentDirection: string): LayoutType;
|
|
17
|
+
export declare function checkLayoutCompliance(html: string, layoutType: LayoutType): string | null;
|
|
18
|
+
export declare function postProcessSlideHtml(html: string): string;
|
|
19
|
+
export declare function buildReviewPrompt(html: string, expectedLayout: LayoutType, slideTitle: string): string;
|
|
20
|
+
export declare function buildSlideHtmlPrompt(slideTitle: string, contentDirection: string, design: DesignSystem, slideIndex: number, totalSlides: number, language: 'ko' | 'en', layoutType?: LayoutType): string;
|
|
21
|
+
export interface LayoutTemplate {
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
css: string;
|
|
25
|
+
skeleton: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function buildLayoutSetPrompt(design: DesignSystem): string;
|
|
28
|
+
export declare function parseLayoutSet(text: string): LayoutTemplate[];
|
|
29
|
+
export declare function buildAllSkeletonsPrompt(slides: Array<{
|
|
30
|
+
type: string;
|
|
31
|
+
title: string;
|
|
32
|
+
content_direction: string;
|
|
33
|
+
}>, layouts: LayoutTemplate[]): string;
|
|
34
|
+
export declare function parseSkeletons(text: string): Map<number, {
|
|
35
|
+
layout: string;
|
|
36
|
+
skeleton: string;
|
|
37
|
+
}>;
|
|
38
|
+
export declare function buildFillPrompt(skeleton: string, layoutCss: string, contentDirection: string, slideTitle: string, design: DesignSystem, slideIndex: number, totalSlides: number, language: 'ko' | 'en'): string;
|
|
16
39
|
export declare const PPT_CREATE_SYSTEM_PROMPT = "You are an elite PowerPoint presentation creator.\nYou build NEW presentations using high-level layout builder tools.\nEach tool call creates ONE complete, professionally-designed slide.\n\n\u2550\u2550\u2550 AVAILABLE TOOLS \u2550\u2550\u2550\nLifecycle: powerpoint_create, powerpoint_save\nSlides: ppt_build_title_slide, ppt_build_layout_a, ppt_build_layout_b, ppt_build_layout_c, ppt_build_layout_d, ppt_build_layout_e, ppt_build_layout_f, ppt_build_closing_slide\nChart: powerpoint_add_chart (use sparingly \u2014 prefer Layout D or F for data)\nComplete: complete (call AFTER saving)\n\n\u2550\u2550\u2550 WORKFLOW \u2550\u2550\u2550\n1. powerpoint_create \u2014 launch PowerPoint\n2. ppt_build_title_slide \u2014 first slide\n3. ppt_build_layout_[a-f] \u2014 content slides (one tool call per slide)\n4. ppt_build_closing_slide \u2014 MUST be the absolute LAST content slide\n5. powerpoint_save \u2014 save file\n6. complete \u2014 report summary\n\n\u2550\u2550\u2550 CONTENT QUALITY \u2550\u2550\u2550\n\u2022 ALL text MUST be in the same language as the user's instruction\n\u2022 Korean input \u2192 Korean titles, bullets, table headers, everything\n\u2022 NEVER use placeholder text like \"[\uB0B4\uC6A9]\", \"XXX\", \"lorem ipsum\"\n\u2022 Generate REAL, specific, professional content with concrete data\n\n\u2550\u2550\u2550 RULES \u2550\u2550\u2550\n1. Build each slide COMPLETELY with one tool call before moving to the next\n2. NEVER go back to modify a previous slide\n3. NEVER use HTML tags in text \u2014 use \\n for line breaks\n4. The LAST tool before \"complete\" MUST be powerpoint_save\n5. If save fails with path error, try \"C:\\\\temp\\\\presentation.pptx\"";
|
|
17
40
|
export declare const PPT_CREATE_PLANNING_PROMPT = "You are a presentation structure planner.\nGiven the user's instruction and CREATIVE GUIDANCE, create the execution plan.\n\n\u26A0 LANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.\n\nOUTPUT FORMAT:\nMODE: CREATE\nDESIGN DECISIONS:\n- COLOR_SCHEME: [MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN]\n- DESIGN_STYLE: [sidebar / top_band / clean]\nTOTAL_SLIDES: [number]\nSLIDE_PLAN:\n- Slide 1: [Title] | Tool: ppt_build_title_slide | Subtitle: [text]\n- Slide N: [Title] | Tool: [tool name] | Content: [summary]";
|
|
18
41
|
export declare function buildSlideSystemPrompt(toolName: string, title: string, direction: string, guidance: string, language: 'ko' | 'en'): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,6BAA6B,q1GA6CA,CAAC;AAM3C,eAAO,MAAM,8BAA8B,QAsLmC,CAAC;AAM/E,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,GACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"powerpoint-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,6BAA6B,q1GA6CA,CAAC;AAM3C,eAAO,MAAM,8BAA8B,QAsLmC,CAAC;AAM/E,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC;AAMzK,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAetE;AAOD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CA8DzF;AAmND,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYzD;AAKD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,CAkBR;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,EACrB,UAAU,GAAE,UAAoB,GAC/B,MAAM,CAkIR;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAqDjE;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CA4B7D;AASD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,EACzE,OAAO,EAAE,cAAc,EAAE,GACxB,MAAM,CAqCR;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB9F;AAUD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,GACpB,MAAM,CAoDR;AAMD,eAAO,MAAM,wBAAwB,2pDA6BmC,CAAC;AAEzE,eAAO,MAAM,0BAA0B,wlBAaqB,CAAC;AAG7D,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,GACpB,MAAM,CAqBR"}
|
|
@@ -227,24 +227,326 @@ BAD content_direction (MULTIPLE visuals = OVERFLOW):
|
|
|
227
227
|
— Use that slot for valuable content instead (e.g., competitive advantage, key metrics, next steps).
|
|
228
228
|
|
|
229
229
|
Output ONLY the JSON object. No preamble, no markdown fences, no explanation.`;
|
|
230
|
-
export function
|
|
230
|
+
export function extractLayoutHint(contentDirection) {
|
|
231
|
+
const match = contentDirection.match(/Layout:\s*(.+?)$/im);
|
|
232
|
+
if (!match)
|
|
233
|
+
return 'cards';
|
|
234
|
+
const hint = match[1].trim().toLowerCase();
|
|
235
|
+
if (/bar\s*chart/.test(hint))
|
|
236
|
+
return 'bar_chart';
|
|
237
|
+
if (/donut|pie/.test(hint))
|
|
238
|
+
return 'donut_chart';
|
|
239
|
+
if (/comparison\s*table|table/.test(hint))
|
|
240
|
+
return 'table';
|
|
241
|
+
if (/process|flow/.test(hint))
|
|
242
|
+
return 'process_flow';
|
|
243
|
+
if (/big\s*num|metric/.test(hint))
|
|
244
|
+
return 'big_numbers';
|
|
245
|
+
if (/split|2-col|column/.test(hint))
|
|
246
|
+
return 'two_col_split';
|
|
247
|
+
if (/timeline|milestone/.test(hint))
|
|
248
|
+
return 'timeline';
|
|
249
|
+
if (/progress\s*bar/.test(hint))
|
|
250
|
+
return 'progress_bars';
|
|
251
|
+
if (/hero|spotlight/.test(hint))
|
|
252
|
+
return 'hero_stat';
|
|
253
|
+
return 'cards';
|
|
254
|
+
}
|
|
255
|
+
export function checkLayoutCompliance(html, layoutType) {
|
|
256
|
+
switch (layoutType) {
|
|
257
|
+
case 'donut_chart':
|
|
258
|
+
if (!html.includes('conic-gradient')) {
|
|
259
|
+
return 'WRONG LAYOUT: Expected donut/pie chart with conic-gradient. You MUST use conic-gradient on a border-radius:50% div. Copy the REQUIRED HTML structure from the prompt.';
|
|
260
|
+
}
|
|
261
|
+
break;
|
|
262
|
+
case 'bar_chart': {
|
|
263
|
+
const hasFlexEnd = /flex-end/.test(html);
|
|
264
|
+
const barHeights = html.match(/style="[^"]*height:\s*\d+%/g) || [];
|
|
265
|
+
if (!hasFlexEnd || barHeights.length < 3) {
|
|
266
|
+
return `WRONG LAYOUT: Expected CSS bar chart with flex-end + at least 3 bars with height:XX%. Found flex-end:${hasFlexEnd}, bars:${barHeights.length}. Copy the REQUIRED HTML structure with .chart-area, .bar-group, .bar elements.`;
|
|
267
|
+
}
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
case 'table':
|
|
271
|
+
if (!html.includes('<table') || !html.includes('<th')) {
|
|
272
|
+
return 'WRONG LAYOUT: Expected HTML <table> with <th> header cells. Copy the REQUIRED HTML structure.';
|
|
273
|
+
}
|
|
274
|
+
break;
|
|
275
|
+
case 'process_flow': {
|
|
276
|
+
const arrowCount = (html.match(/→/g) || []).length;
|
|
277
|
+
const hasSteps = /class="[^"]*step/i.test(html);
|
|
278
|
+
if (arrowCount < 2 || !hasSteps) {
|
|
279
|
+
return `WRONG LAYOUT: Expected process flow with step boxes and → arrows. Found arrows:${arrowCount}, steps:${hasSteps}. You MUST have .step divs connected by .arrow divs containing "→".`;
|
|
280
|
+
}
|
|
281
|
+
break;
|
|
282
|
+
}
|
|
283
|
+
case 'progress_bars': {
|
|
284
|
+
const hasFill = /bar-fill/i.test(html);
|
|
285
|
+
const hasTrack = /bar-track/i.test(html);
|
|
286
|
+
const widthBars = html.match(/style="[^"]*width:\s*\d+%/g) || [];
|
|
287
|
+
if (!hasFill || !hasTrack || widthBars.length < 3) {
|
|
288
|
+
return `WRONG LAYOUT: Expected progress bars with .bar-track + .bar-fill + width:XX%. Found fill:${hasFill}, track:${hasTrack}, bars:${widthBars.length}. Copy the REQUIRED HTML structure.`;
|
|
289
|
+
}
|
|
290
|
+
break;
|
|
291
|
+
}
|
|
292
|
+
case 'timeline': {
|
|
293
|
+
const hasMilestone = /class="[^"]*milestone/i.test(html);
|
|
294
|
+
const milestoneCount = (html.match(/class="milestone"/g) || []).length;
|
|
295
|
+
if (!hasMilestone || milestoneCount < 2) {
|
|
296
|
+
return `WRONG LAYOUT: Expected timeline with .milestone cards. Found ${milestoneCount} milestones. You MUST have 3-4 .milestone divs side by side.`;
|
|
297
|
+
}
|
|
298
|
+
break;
|
|
299
|
+
}
|
|
300
|
+
case 'big_numbers': {
|
|
301
|
+
const bigFonts = html.match(/font-size:\s*(?:7[2-9]|[89]\d|1[0-2]\d)px/g) || [];
|
|
302
|
+
if (bigFonts.length < 2) {
|
|
303
|
+
return `WRONG LAYOUT: Expected big number metrics with font-size 72-96px. Found ${bigFonts.length} large fonts. Each .metric-card MUST have a .metric-value with font-size:80px.`;
|
|
304
|
+
}
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
case 'hero_stat': {
|
|
308
|
+
const heroFont = html.match(/font-size:\s*(?:9[6-9]|1[0-2]\d)px/g) || [];
|
|
309
|
+
if (heroFont.length < 1) {
|
|
310
|
+
return `WRONG LAYOUT: Expected hero stat with font-size 96-128px. You MUST have ONE .hero-number with font-size:128px.`;
|
|
311
|
+
}
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return null;
|
|
316
|
+
}
|
|
317
|
+
function getLayoutSpecificCss(layoutType, design) {
|
|
318
|
+
const layouts = {
|
|
319
|
+
cards: `═══ REQUIRED LAYOUT: CARD GRID ═══
|
|
320
|
+
⚠⚠⚠ You MUST create a CARD GRID layout. Using any other layout = FAILURE.
|
|
321
|
+
|
|
322
|
+
CSS:
|
|
323
|
+
.content { flex:1; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:24px; }
|
|
324
|
+
.card { display:flex; flex-direction:column; justify-content:flex-start; gap:12px; padding:32px 28px; border-radius:16px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,0.06); overflow:hidden; }
|
|
325
|
+
|
|
326
|
+
⚠ grid-template-rows:1fr 1fr is CRITICAL — it forces cards to stretch and fill vertical space. Without it, cards collapse to content height leaving huge empty bottom.
|
|
327
|
+
• MAX 4 cards (2×2). Each: icon/badge + title (32-40px) + 3-4 bullets (26px) + stat/metric at bottom.
|
|
328
|
+
• If only 3 items: grid-template-columns:1fr 1fr 1fr; grid-template-rows:1fr;
|
|
329
|
+
• Card bottom stat: use margin-top:auto to push it to card bottom, creating visual anchor.`,
|
|
330
|
+
bar_chart: `═══ REQUIRED LAYOUT: BAR CHART ═══
|
|
331
|
+
⚠⚠⚠ You MUST create a CSS BAR CHART with vertical bars. Cards/numbers/tables = FAILURE.
|
|
332
|
+
|
|
333
|
+
CSS:
|
|
334
|
+
.content { flex:1; display:flex; flex-direction:column; }
|
|
335
|
+
.chart-area { flex:1; display:flex; align-items:flex-end; gap:32px; padding:40px 60px 20px; }
|
|
336
|
+
.bar-group { flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; }
|
|
337
|
+
.bar-value { font-size:28px; font-weight:700; color:${design.primary_color}; }
|
|
338
|
+
.bar { width:80%; border-radius:8px 8px 0 0; background:linear-gradient(180deg, ${design.accent_color}, ${design.primary_color}); min-height:20px; }
|
|
339
|
+
.bar-label { font-size:26px; font-weight:600; color:${design.text_color}; text-align:center; min-width:120px; }
|
|
340
|
+
.insight-row { padding:20px 60px; background:${design.accent_light}; border-radius:12px; margin-top:20px; font-size:26px; color:${design.text_color}; }
|
|
341
|
+
|
|
342
|
+
CRITICAL PATTERN — your .content div MUST contain this structure:
|
|
343
|
+
<div class="content">
|
|
344
|
+
<div class="chart-area">
|
|
345
|
+
<div class="bar-group">
|
|
346
|
+
<div class="bar-value">VALUE</div>
|
|
347
|
+
<div class="bar" style="height:75%"></div>
|
|
348
|
+
<div class="bar-label">LABEL</div>
|
|
349
|
+
</div>
|
|
350
|
+
<!-- 3-6 bar-groups like above -->
|
|
351
|
+
</div>
|
|
352
|
+
<div class="insight-row">KEY INSIGHT TEXT</div>
|
|
353
|
+
</div>
|
|
354
|
+
|
|
355
|
+
⚠ Each bar MUST have style="height:XX%" (tallest=85%, others proportional). align-items:flex-end on .chart-area makes bars grow upward.
|
|
356
|
+
⚠ The insight-row at bottom provides context and fills space. Be creative with the insight text.`,
|
|
357
|
+
donut_chart: `═══ REQUIRED LAYOUT: DONUT/PIE CHART ═══
|
|
358
|
+
⚠⚠⚠ You MUST create a CSS DONUT CHART using conic-gradient. Cards/tables = FAILURE.
|
|
359
|
+
|
|
360
|
+
CSS:
|
|
361
|
+
.content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
|
|
362
|
+
.donut-wrap { display:flex; justify-content:center; align-items:center; }
|
|
363
|
+
.donut { width:400px; height:400px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
|
|
364
|
+
.donut-hole { width:200px; height:200px; border-radius:50%; background:${design.background_color}; display:flex; align-items:center; justify-content:center; }
|
|
365
|
+
.donut-center { font-size:48px; font-weight:800; color:${design.primary_color}; }
|
|
366
|
+
.legend { display:flex; flex-direction:column; gap:28px; }
|
|
367
|
+
.legend-item { display:flex; align-items:center; gap:16px; font-size:28px; }
|
|
368
|
+
.legend-dot { width:20px; height:20px; border-radius:50%; flex-shrink:0; }
|
|
369
|
+
|
|
370
|
+
CRITICAL PATTERN — the donut MUST use conic-gradient with ACTUAL data percentages:
|
|
371
|
+
<div class="donut" style="background:conic-gradient(${design.primary_color} 0% 45%, ${design.accent_color} 45% 75%, ${design.gradient_end} 75% 100%);">
|
|
372
|
+
|
|
373
|
+
⚠ conic-gradient segments MUST add to 100%. Adjust percentages to match the ACTUAL DATA.
|
|
374
|
+
⚠ Left: donut with center hole showing total/summary. Right: legend with colored dots + labels + values.`,
|
|
375
|
+
table: `═══ REQUIRED LAYOUT: DATA TABLE ═══
|
|
376
|
+
⚠⚠⚠ You MUST create a styled HTML TABLE with <table>/<th>/<td>. Cards = FAILURE.
|
|
377
|
+
|
|
378
|
+
CSS:
|
|
379
|
+
.content { flex:1; display:flex; flex-direction:column; }
|
|
380
|
+
table { width:100%; border-collapse:separate; border-spacing:0; border-radius:12px; overflow:hidden; flex:1; }
|
|
381
|
+
th { padding:20px 24px; background:${design.primary_color}; color:#fff; font-size:26px; font-weight:700; text-align:left; }
|
|
382
|
+
td { padding:20px 24px; font-size:26px; border-bottom:1px solid ${design.accent_light}; color:${design.text_color}; }
|
|
383
|
+
tr:nth-child(even) td { background:${design.accent_light}40; }
|
|
384
|
+
tr.highlight td { background:${design.accent_color}15; font-weight:600; }
|
|
385
|
+
.summary-bar { margin-top:auto; padding:20px 24px; background:${design.accent_light}; border-radius:12px; font-size:26px; color:${design.text_color}; }
|
|
386
|
+
|
|
387
|
+
⚠ table uses flex:1 to stretch vertically. Use larger padding on td (28-32px) if fewer rows to fill space.
|
|
388
|
+
⚠ Header: dark ${design.primary_color} background with WHITE text. MAX 5 rows × 4 columns. EVERY cell real data.
|
|
389
|
+
⚠ Add .summary-bar below table with margin-top:auto to anchor it at the bottom and fill remaining space.`,
|
|
390
|
+
process_flow: `═══ REQUIRED LAYOUT: PROCESS FLOW ═══
|
|
391
|
+
⚠⚠⚠ You MUST create a HORIZONTAL PROCESS FLOW with step boxes + arrows (→). Cards without arrows = FAILURE.
|
|
392
|
+
|
|
393
|
+
CSS:
|
|
394
|
+
.content { flex:1; display:flex; align-items:stretch; gap:0; }
|
|
395
|
+
.step { flex:1; display:flex; flex-direction:column; align-items:center; padding:32px 20px; background:${design.accent_light}; border-radius:16px; text-align:center; gap:16px; }
|
|
396
|
+
.step-number { width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg, ${design.primary_color}, ${design.gradient_end}); color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:700; flex-shrink:0; }
|
|
397
|
+
.step-title { font-size:28px; font-weight:700; color:${design.primary_color}; }
|
|
398
|
+
.step-desc { font-size:24px; color:${design.text_color}; line-height:1.5; flex:1; }
|
|
399
|
+
.step-time { font-size:24px; color:${design.accent_color}; font-weight:600; margin-top:auto; padding-top:12px; border-top:2px solid ${design.accent_color}40; }
|
|
400
|
+
.arrow { width:60px; display:flex; align-items:center; justify-content:center; font-size:44px; color:${design.accent_color}; flex-shrink:0; }
|
|
401
|
+
|
|
402
|
+
CRITICAL PATTERN — your .content MUST alternate .step and .arrow divs:
|
|
403
|
+
<div class="content">
|
|
404
|
+
<div class="step">
|
|
405
|
+
<div class="step-number">1</div>
|
|
406
|
+
<div class="step-title">STEP TITLE</div>
|
|
407
|
+
<div class="step-desc">Description text</div>
|
|
408
|
+
<div class="step-time">Duration/detail</div>
|
|
409
|
+
</div>
|
|
410
|
+
<div class="arrow">→</div>
|
|
411
|
+
<div class="step">...</div>
|
|
412
|
+
<div class="arrow">→</div>
|
|
413
|
+
<div class="step">...</div>
|
|
414
|
+
</div>
|
|
415
|
+
|
|
416
|
+
⚠ 3-5 steps with → arrows between them. align-items:stretch makes all steps equal height.
|
|
417
|
+
⚠ .step-time with margin-top:auto anchors it at the bottom of each step.`,
|
|
418
|
+
big_numbers: `═══ REQUIRED LAYOUT: BIG NUMBER METRICS ═══
|
|
419
|
+
⚠⚠⚠ You MUST create BIG NUMBER SPOTLIGHT cards with 72-96px numbers. Tables/small text = FAILURE.
|
|
420
|
+
|
|
421
|
+
CSS:
|
|
422
|
+
.content { flex:1; display:flex; gap:40px; align-items:stretch; }
|
|
423
|
+
.metric-card { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:48px 32px; border-radius:20px; background:#fff; box-shadow:0 4px 24px rgba(0,0,0,0.06); text-align:center; gap:20px; }
|
|
424
|
+
.metric-value { font-size:80px; font-weight:800; color:${design.primary_color}; line-height:1; }
|
|
425
|
+
.metric-unit { font-size:32px; font-weight:600; color:${design.accent_color}; }
|
|
426
|
+
.metric-label { font-size:28px; font-weight:600; color:${design.text_color}; }
|
|
427
|
+
.metric-desc { font-size:24px; color:${design.text_color}aa; line-height:1.5; }
|
|
428
|
+
.metric-trend { font-size:26px; font-weight:600; margin-top:auto; }
|
|
429
|
+
|
|
430
|
+
⚠ 2-3 metric cards side by side. Each: huge number (font-size:80px), unit, label, description, trend.
|
|
431
|
+
⚠ align-items:stretch makes cards fill full height. justify-content:center within each card centers content.
|
|
432
|
+
⚠ Trend colors: green (#10B981) for positive ▲, red (#EF4444) for negative ▼.`,
|
|
433
|
+
two_col_split: `═══ REQUIRED LAYOUT: 2-COLUMN SPLIT ═══
|
|
434
|
+
⚠⚠⚠ You MUST create a 2-COLUMN layout. Single column = FAILURE.
|
|
435
|
+
|
|
436
|
+
CSS:
|
|
437
|
+
.content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:32px; }
|
|
438
|
+
.left-col { display:flex; flex-direction:column; gap:20px; justify-content:center; padding:20px; }
|
|
439
|
+
.right-col { display:flex; flex-direction:column; gap:20px; justify-content:center; padding:20px; }
|
|
440
|
+
|
|
441
|
+
⚠ Left column: primary content (big metric, chart, or main visual). Right: supporting detail cards or text.
|
|
442
|
+
⚠ Both columns stretch full height. Keep text LARGE (28-32px) — don't try to squeeze too much.
|
|
443
|
+
⚠ MAX 3-4 items per column. If content overflows, reduce items instead of shrinking text.`,
|
|
444
|
+
timeline: `═══ REQUIRED LAYOUT: TIMELINE ═══
|
|
445
|
+
⚠⚠⚠ You MUST create a HORIZONTAL TIMELINE with milestone cards. Generic cards = FAILURE.
|
|
446
|
+
|
|
447
|
+
CSS:
|
|
448
|
+
.content { flex:1; display:flex; align-items:stretch; gap:24px; }
|
|
449
|
+
.milestone { flex:1; display:flex; flex-direction:column; padding:32px; border-radius:16px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,0.06); gap:16px; }
|
|
450
|
+
.milestone-date { font-size:24px; font-weight:700; color:${design.accent_color}; }
|
|
451
|
+
.milestone-icon { width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg, ${design.primary_color}, ${design.gradient_end}); display:flex; align-items:center; justify-content:center; color:#fff; font-size:24px; }
|
|
452
|
+
.milestone-title { font-size:30px; font-weight:700; color:${design.primary_color}; }
|
|
453
|
+
.milestone-desc { font-size:26px; color:${design.text_color}; line-height:1.5; flex:1; }
|
|
454
|
+
.milestone-kpi { font-size:24px; font-weight:600; color:${design.accent_color}; margin-top:auto; padding-top:16px; border-top:2px solid ${design.accent_light}; }
|
|
455
|
+
|
|
456
|
+
⚠ 3-4 .milestone cards side by side. Each: date → icon → title → description → KPI at bottom.
|
|
457
|
+
⚠ align-items:stretch + flex:1 on .milestone-desc ensures all cards are equal height.
|
|
458
|
+
⚠ .milestone-kpi with margin-top:auto anchors it at the bottom of each card.`,
|
|
459
|
+
progress_bars: `═══ REQUIRED LAYOUT: PROGRESS BARS ═══
|
|
460
|
+
⚠⚠⚠ You MUST create FULL-WIDTH HORIZONTAL PROGRESS BARS. Small bars inside cards = FAILURE.
|
|
461
|
+
|
|
462
|
+
CSS:
|
|
463
|
+
.content { flex:1; display:flex; flex-direction:column; justify-content:space-evenly; gap:0; padding:20px 0; }
|
|
464
|
+
.bar-item { display:flex; flex-direction:column; gap:10px; }
|
|
465
|
+
.bar-header { display:flex; justify-content:space-between; align-items:baseline; }
|
|
466
|
+
.bar-label { font-size:28px; font-weight:600; color:${design.text_color}; }
|
|
467
|
+
.bar-value { font-size:28px; font-weight:700; color:${design.primary_color}; }
|
|
468
|
+
.bar-track { width:100%; height:44px; background:${design.accent_light}; border-radius:22px; overflow:hidden; }
|
|
469
|
+
.bar-fill { height:100%; border-radius:22px; background:linear-gradient(90deg, ${design.primary_color}, ${design.accent_color}); }
|
|
470
|
+
|
|
471
|
+
CRITICAL PATTERN — your .content MUST be a vertical stack of .bar-item divs:
|
|
472
|
+
<div class="content">
|
|
473
|
+
<div class="bar-item">
|
|
474
|
+
<div class="bar-header">
|
|
475
|
+
<span class="bar-label">Category Name</span>
|
|
476
|
+
<span class="bar-value">85%</span>
|
|
477
|
+
</div>
|
|
478
|
+
<div class="bar-track"><div class="bar-fill" style="width:85%"></div></div>
|
|
479
|
+
</div>
|
|
480
|
+
<!-- repeat 4-6 bar-items -->
|
|
481
|
+
</div>
|
|
482
|
+
|
|
483
|
+
⚠ justify-content:space-evenly distributes bars across the full height — NO empty bottom.
|
|
484
|
+
⚠ Each bar: header row (label + percentage) + track div containing fill div with style="width:XX%".
|
|
485
|
+
⚠ 4-6 bars. Bar height:44px. Use gradient fills. The structure above is non-negotiable.`,
|
|
486
|
+
hero_stat: `═══ REQUIRED LAYOUT: HERO STAT ═══
|
|
487
|
+
⚠⚠⚠ You MUST create a SINGLE LARGE CENTRAL METRIC. Cards/tables = FAILURE.
|
|
488
|
+
|
|
489
|
+
CSS:
|
|
490
|
+
.content { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; }
|
|
491
|
+
.hero-number { font-size:128px; font-weight:900; color:${design.primary_color}; line-height:1; }
|
|
492
|
+
.hero-unit { font-size:48px; font-weight:600; color:${design.accent_color}; }
|
|
493
|
+
.hero-label { font-size:36px; font-weight:600; color:${design.text_color}; }
|
|
494
|
+
.hero-context { font-size:28px; color:${design.text_color}aa; text-align:center; max-width:800px; line-height:1.6; }
|
|
495
|
+
.supporting-row { display:flex; gap:60px; margin-top:48px; }
|
|
496
|
+
.supporting-item { text-align:center; }
|
|
497
|
+
.supporting-value { font-size:40px; font-weight:700; color:${design.primary_color}; }
|
|
498
|
+
.supporting-label { font-size:24px; color:${design.text_color}aa; margin-top:8px; }
|
|
499
|
+
|
|
500
|
+
⚠ ONE giant number (font-size:128px) center stage. Description below. Optional 2-3 supporting metrics in a row.
|
|
501
|
+
⚠ This is the ONLY layout where justify-content:center on .content is correct.`,
|
|
502
|
+
};
|
|
503
|
+
return layouts[layoutType] || layouts.cards;
|
|
504
|
+
}
|
|
505
|
+
export function postProcessSlideHtml(html) {
|
|
506
|
+
const fixCss = `
|
|
507
|
+
/* === AUTO-INJECTED FILL FIXES === */
|
|
508
|
+
.content { min-height: 0; }
|
|
509
|
+
body > .content, body > :last-child:not(.slide-title) { flex: 1 1 auto; }
|
|
510
|
+
.content[style*="grid"] { align-items: stretch; }
|
|
511
|
+
`;
|
|
512
|
+
if (html.includes('</style>')) {
|
|
513
|
+
return html.replace('</style>', fixCss + '</style>');
|
|
514
|
+
}
|
|
515
|
+
return html;
|
|
516
|
+
}
|
|
517
|
+
export function buildReviewPrompt(html, expectedLayout, slideTitle) {
|
|
518
|
+
return `You are a presentation slide quality reviewer. Evaluate this HTML slide and output ONLY a JSON object.
|
|
519
|
+
|
|
520
|
+
EXPECTED LAYOUT: "${expectedLayout}"
|
|
521
|
+
SLIDE TITLE: "${slideTitle}"
|
|
522
|
+
|
|
523
|
+
HTML (first 3000 chars):
|
|
524
|
+
${html.slice(0, 3000)}
|
|
525
|
+
|
|
526
|
+
Evaluate:
|
|
527
|
+
1. LAYOUT (1-10): Does it use "${expectedLayout}" layout? Wrong layout type = score 1.
|
|
528
|
+
2. READABILITY (1-10): Font sizes ≥26px? Good contrast? Text readable?
|
|
529
|
+
3. FILL (1-10): Content fills 80-90% of 1920×1080? No huge empty areas?
|
|
530
|
+
|
|
531
|
+
Output JSON ONLY (no markdown fences):
|
|
532
|
+
{"layout":N,"readability":N,"fill":N,"pass":true/false,"feedback":"specific fix needed or empty string"}
|
|
533
|
+
|
|
534
|
+
PASS = all scores ≥ 7. FAIL = any score < 7.`;
|
|
535
|
+
}
|
|
536
|
+
export function buildSlideHtmlPrompt(slideTitle, contentDirection, design, slideIndex, totalSlides, language, layoutType = 'cards') {
|
|
231
537
|
const langRule = language === 'ko'
|
|
232
538
|
? 'ALL visible text MUST be in Korean. Write naturally in Korean.'
|
|
233
539
|
: 'ALL visible text MUST be in English.';
|
|
234
540
|
const styleVariants = [
|
|
235
|
-
'
|
|
236
|
-
'
|
|
237
|
-
'
|
|
238
|
-
'GRADIENT_HEADER',
|
|
239
|
-
'FULL_GRADIENT',
|
|
541
|
+
'LIGHT',
|
|
542
|
+
'ACCENT_HEADER',
|
|
543
|
+
'GRADIENT_BG',
|
|
240
544
|
];
|
|
241
545
|
const styleVariant = styleVariants[slideIndex % styleVariants.length];
|
|
242
546
|
const styleGuide = {
|
|
243
|
-
'
|
|
244
|
-
'
|
|
245
|
-
'
|
|
246
|
-
'GRADIENT_HEADER': `Add a bold accent bar at the top (height:8px, background: linear-gradient(90deg, ${design.accent_color}, ${design.primary_color})). Title goes directly below the bar (no large background band — just the accent bar + title text). Content uses ${design.background_color}. ⚠ The accent bar is ONLY 8px tall — do NOT create a large colored header section.`,
|
|
247
|
-
'FULL_GRADIENT': `Use a subtle full-page gradient (background: linear-gradient(150deg, ${design.background_color} 0%, ${design.accent_light} 50%, ${design.background_color} 100%)). Cards float with stronger shadows (box-shadow: 0 8px 32px rgba(0,0,0,0.08)).`,
|
|
547
|
+
'LIGHT': `Background: ${design.background_color}. Title: ${design.primary_color}, 48-56px bold. Cards/elements use white background with box-shadow.`,
|
|
548
|
+
'ACCENT_HEADER': `Add a bold accent bar at top (height:6px, background: linear-gradient(90deg, ${design.accent_color}, ${design.primary_color})). Title directly below. Background: ${design.background_color}.`,
|
|
549
|
+
'GRADIENT_BG': `Subtle gradient background: linear-gradient(150deg, ${design.background_color} 0%, ${design.accent_light} 50%, ${design.background_color} 100%). Elements use stronger shadows (0 8px 32px rgba(0,0,0,0.08)).`,
|
|
248
550
|
};
|
|
249
551
|
return `You are a world-class web designer creating a presentation slide as a complete HTML page.
|
|
250
552
|
Output ONLY the complete HTML document — nothing else. No explanation, no markdown fences.
|
|
@@ -312,53 +614,12 @@ MANDATORY STRUCTURE (body has EXACTLY 2 direct children):
|
|
|
312
614
|
⚠ .slide-title should include any accent bars/decorations AS PART OF the title section, not as separate body children.
|
|
313
615
|
⚠ .content MUST use flex:1 to stretch. NEVER use justify-content:center on .content — it creates dead space.
|
|
314
616
|
|
|
315
|
-
|
|
316
|
-
⚠⚠⚠ The content_direction ends with "Layout: <type>". Use THAT type as the primary layout.
|
|
317
|
-
⚠ Do NOT default to cards/grid for every slide — follow the Layout hint.
|
|
318
|
-
|
|
319
|
-
CARDS (use ONLY when Layout hint says "cards" or "grid"):
|
|
320
|
-
.content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
|
|
321
|
-
.card { display:flex; flex-direction:column; justify-content:flex-start; gap:16px; padding:32px 28px; border-radius:16px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,0.06); }
|
|
322
|
-
⚠ NEVER use justify-content:space-between on cards — use flex-start + gap.
|
|
323
|
-
⚠ Each card: title + 3-5 bullets + 1 stat. Keep content dense but readable.
|
|
324
|
-
|
|
325
|
-
TABLES: .content { flex:1; display:flex; flex-direction:column; }
|
|
326
|
-
table { width:100%; } th { padding:20px 24px; background:${design.primary_color}; color:#fff; }
|
|
327
|
-
td { padding:24px 20px; font-size:22px; } Add a SUMMARY BAR below the table.
|
|
328
|
-
|
|
329
|
-
TIMELINES: .content { flex:1; display:flex; align-items:stretch; gap:32px; }
|
|
330
|
-
Each milestone: tall card (flex:1) with icon circle, title, year, description, and KPI at bottom.
|
|
331
|
-
|
|
332
|
-
2-COL SPLIT: .content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:32px; }
|
|
333
|
-
Left: chart or big metric. Right: detail cards. Both stretch full height.
|
|
334
|
-
|
|
335
|
-
BIG NUMBERS: .content { flex:1; display:flex; gap:40px; align-items:stretch; }
|
|
336
|
-
Each: flex:1 card with huge number (72-96px), label, and description paragraph.
|
|
337
|
-
|
|
338
|
-
BAR CHARTS: .content { flex:1; display:flex; flex-direction:column; }
|
|
339
|
-
.chart-area { flex:1; display:flex; align-items:flex-end; gap:48px; padding:40px; }
|
|
340
|
-
Each bar: flex:1, label ABOVE the bar (never beside it). Min label width: 120px.
|
|
341
|
-
⚠ Bar labels: use min-width:120px and text-align:center to prevent character-by-character wrapping.
|
|
342
|
-
|
|
343
|
-
DONUT/PIE CHARTS: .content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
|
|
344
|
-
Left: donut div (width:400px; height:400px; border-radius:50%; background:conic-gradient(color1 0% X%, color2 X% Y%, ...); position:relative;)
|
|
345
|
-
Inner circle for donut hole: pseudo-element or inner div (width:200px; height:200px; border-radius:50%; background:white; centered with margin:auto)
|
|
346
|
-
Right: legend with colored dots + labels + percentages. Each item: display:flex; align-items:center; gap:12px; margin-bottom:16px;
|
|
347
|
-
|
|
348
|
-
PROCESS FLOW: .content { flex:1; display:flex; align-items:stretch; gap:0; }
|
|
349
|
-
Each step: flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:24px; background:accent_light; border-radius:12px;
|
|
350
|
-
Between steps: arrow div (width:60px; display:flex; align-items:center; justify-content:center; font-size:36px; color:accent) containing "→"
|
|
351
|
-
⚠ Use real → characters or CSS borders for arrows. NEVER use position:absolute for arrows.
|
|
352
|
-
|
|
353
|
-
PROGRESS BARS: .content { flex:1; display:flex; flex-direction:column; justify-content:center; gap:32px; }
|
|
354
|
-
Each item: label (font-size:28px; margin-bottom:8px;) + bar container (width:100%; height:40px; background:#eee; border-radius:20px; overflow:hidden;)
|
|
355
|
-
Inner bar: height:100%; width:X%; background:linear-gradient(90deg, primary, accent); border-radius:20px;
|
|
356
|
-
Percentage label at right end of bar or after the bar container.
|
|
617
|
+
${getLayoutSpecificCss(layoutType, design)}
|
|
357
618
|
|
|
358
619
|
═══ DESIGN RULES ═══
|
|
359
620
|
1. Title: 48-64px bold. Body: 26-32px. MINIMUM any visible text: 26px. NEVER use font-size below 26px for any text element. If content doesn't fit at 26px, REDUCE ITEM COUNT instead of shrinking text. Card descriptions: 26-30px. Card titles: 32-40px. Labels/captions: 26px minimum. body { font-size: 26px; } is MANDATORY.
|
|
360
621
|
2. Use gradients, box-shadow (0 4px 20px rgba(0,0,0,0.06)), border-radius (12-20px)
|
|
361
|
-
3.
|
|
622
|
+
3. Follow the REQUIRED LAYOUT specified above exactly. Do NOT substitute a different layout type.
|
|
362
623
|
4. HARD LIMITS: MAX 4 cards (2×2 grid), MAX 2 cards per row, MAX 4 table rows, MAX 4 timeline steps.
|
|
363
624
|
⚠ If content_direction lists 5+ items, group them into 4 cards (combine related items).
|
|
364
625
|
5. ⚠⚠⚠ NEVER use position:absolute. ALL layout MUST use flexbox/grid. position:absolute is STRIPPED by the renderer.
|
|
@@ -379,16 +640,6 @@ PROGRESS BARS: .content { flex:1; display:flex; flex-direction:column; justify-c
|
|
|
379
640
|
⚠ NEVER use justify-content:space-between on individual cards — it creates huge gaps between sparse items. Use flex-start + gap instead.
|
|
380
641
|
⚠ Cards in a row: parent uses align-items:stretch (default) so cards fill the full height.
|
|
381
642
|
|
|
382
|
-
═══ VISUAL DIVERSITY — MANDATORY ═══
|
|
383
|
-
⚠ Do NOT make every slide look the same! Use DIFFERENT visual types across the presentation:
|
|
384
|
-
- DATA SLIDES: CSS bar charts (vertical/horizontal), donut charts (conic-gradient), progress bars
|
|
385
|
-
- COMPARISON: Side-by-side columns, before/after layouts, styled tables
|
|
386
|
-
- PROCESS/FLOW: Horizontal step boxes connected by CSS arrows (→ or border-based), numbered phases
|
|
387
|
-
- METRICS: Big number cards with trend indicators (▲▼), KPI dashboards
|
|
388
|
-
- TEXT+VISUAL: Left column text + right column chart/graphic, or top chart + bottom cards
|
|
389
|
-
⚠ In a 12-slide deck, aim for: 2-3 chart slides, 2-3 card slides, 1-2 table slides, 1-2 process/flow slides, 1-2 mixed layouts.
|
|
390
|
-
⚠ NEVER use only cards for the entire presentation.
|
|
391
|
-
|
|
392
643
|
═══ TABLE COMPLETENESS — MANDATORY ═══
|
|
393
644
|
⚠ If you create a table, EVERY cell MUST contain real data. Empty cells = FAILURE.
|
|
394
645
|
⚠ For comparison tables: fill ALL columns for ALL competitors/items with realistic data.
|
|
@@ -409,6 +660,196 @@ Bottom-right: "${slideIndex + 1}" (12px, opacity 0.4)
|
|
|
409
660
|
|
|
410
661
|
Output the complete HTML document now. Start with <!DOCTYPE html> and end with </html>.`;
|
|
411
662
|
}
|
|
663
|
+
export function buildLayoutSetPrompt(design) {
|
|
664
|
+
const moodGuide = {
|
|
665
|
+
'modern-minimal': 'Clean lines, subtle shadows (0 2px 16px rgba(0,0,0,0.06)), generous whitespace, thin borders (1px), smooth border-radius (12-16px)',
|
|
666
|
+
'bold-energetic': 'Strong gradients, deep shadows (0 8px 32px rgba(0,0,0,0.12)), thick accent bars, high contrast, border-radius (8-12px)',
|
|
667
|
+
'corporate-elegant': 'Refined spacing, subtle gradients, structured grids, sophisticated thin shadows, serif-like feel',
|
|
668
|
+
'warm-friendly': 'Rounded corners (20px+), soft warm shadows, inviting spacing (32-40px gaps), gentle color transitions',
|
|
669
|
+
'academic-clean': 'Tight grids, minimal decoration, clear hierarchy, thin rules (1px borders), data-first design',
|
|
670
|
+
};
|
|
671
|
+
return `You are a world-class CSS layout architect. Create unique, reusable slide layout components for a presentation.
|
|
672
|
+
|
|
673
|
+
DESIGN SYSTEM:
|
|
674
|
+
Primary: ${design.primary_color} | Accent: ${design.accent_color}
|
|
675
|
+
Background: ${design.background_color} | Text: ${design.text_color}
|
|
676
|
+
Accent Light: ${design.accent_light} | Gradient End: ${design.gradient_end}
|
|
677
|
+
Title Font: ${design.font_title} | Body Font: ${design.font_body}
|
|
678
|
+
Mood: ${design.mood} | Notes: ${design.design_notes}
|
|
679
|
+
|
|
680
|
+
MOOD STYLE — "${design.mood}":
|
|
681
|
+
${moodGuide[design.mood] || moodGuide['modern-minimal']}
|
|
682
|
+
|
|
683
|
+
Create 8-12 UNIQUE layout components. Be creative — every layout should feel different.
|
|
684
|
+
|
|
685
|
+
OUTPUT FORMAT — repeat for EACH layout:
|
|
686
|
+
---LAYOUT: descriptive-name---
|
|
687
|
+
USE: When to use this layout (1 line)
|
|
688
|
+
CSS:
|
|
689
|
+
(CSS classes using the design system colors. .content MUST have flex:1.)
|
|
690
|
+
HTML:
|
|
691
|
+
<div class="content">
|
|
692
|
+
<!-- skeleton with {{VALUE1}}, {{LABEL1}}, {{TEXT1}}, {{PERCENT1}}, {{INSIGHT}} placeholders -->
|
|
693
|
+
</div>
|
|
694
|
+
---END---
|
|
695
|
+
|
|
696
|
+
REQUIRED VARIETY (create at least one of each):
|
|
697
|
+
1. VERTICAL BAR CHART — bars aligned to bottom with flex-end + style="height:XX%"
|
|
698
|
+
2. DONUT/PIE CHART — conic-gradient on border-radius:50% div + legend
|
|
699
|
+
3. HORIZONTAL PROGRESS BARS — .bar-track + .bar-fill with style="width:XX%"
|
|
700
|
+
4. DATA TABLE — <table> with <th>/<td>, colored header row
|
|
701
|
+
5. PROCESS FLOW — .step boxes connected by → arrow divs
|
|
702
|
+
6. BIG NUMBERS — 2-3 large metric cards (font-size:72-80px)
|
|
703
|
+
7. CARD GRID — 2×2 or 3-column cards with icons, titles, bullets
|
|
704
|
+
8. TIMELINE — horizontal milestone cards with dates
|
|
705
|
+
Plus 0-4 more creative layouts of YOUR choice (split columns, dashboards, comparison panels, etc.)
|
|
706
|
+
|
|
707
|
+
TECHNICAL CONSTRAINTS:
|
|
708
|
+
⚠ ALL CSS must use the design system colors: ${design.primary_color}, ${design.accent_color}, etc.
|
|
709
|
+
⚠ .content MUST use flex:1 to fill remaining vertical space after the title.
|
|
710
|
+
⚠ Grids must use grid-template-rows with explicit fr units (e.g., 1fr 1fr) to prevent height collapse.
|
|
711
|
+
⚠ Font minimums: body text 26px, card titles 32px, section titles 40px, big numbers 72-96px.
|
|
712
|
+
⚠ No position:absolute. No images. No external resources. CSS-only visuals.
|
|
713
|
+
⚠ Charts: bar charts (flex-end alignment), donuts (conic-gradient), progress bars (width%).
|
|
714
|
+
⚠ Use the mood style direction above to influence shadows, borders, spacing, and corner radii.`;
|
|
715
|
+
}
|
|
716
|
+
export function parseLayoutSet(text) {
|
|
717
|
+
const results = [];
|
|
718
|
+
const blocks = text.split(/---LAYOUT:\s*/);
|
|
719
|
+
for (const block of blocks) {
|
|
720
|
+
const trimmed = block.trim();
|
|
721
|
+
if (!trimmed || trimmed.length < 50)
|
|
722
|
+
continue;
|
|
723
|
+
const nameMatch = trimmed.match(/^([^\n]+?)---/);
|
|
724
|
+
if (!nameMatch)
|
|
725
|
+
continue;
|
|
726
|
+
const name = nameMatch[1].trim();
|
|
727
|
+
const useMatch = trimmed.match(/USE:\s*(.+)/);
|
|
728
|
+
const description = useMatch ? useMatch[1].trim() : name;
|
|
729
|
+
const cssMatch = trimmed.match(/CSS:\s*\n([\s\S]*?)(?=\nHTML:)/);
|
|
730
|
+
if (!cssMatch)
|
|
731
|
+
continue;
|
|
732
|
+
const css = cssMatch[1].trim();
|
|
733
|
+
const htmlMatch = trimmed.match(/HTML:\s*\n([\s\S]*?)(?=---END---|$)/);
|
|
734
|
+
if (!htmlMatch)
|
|
735
|
+
continue;
|
|
736
|
+
const skeleton = htmlMatch[1].trim();
|
|
737
|
+
if (css.length > 20 && skeleton.length > 20) {
|
|
738
|
+
results.push({ name, description, css, skeleton });
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
return results;
|
|
742
|
+
}
|
|
743
|
+
export function buildAllSkeletonsPrompt(slides, layouts) {
|
|
744
|
+
const layoutList = layouts.map(l => ` - "${l.name}": ${l.description}`).join('\n');
|
|
745
|
+
const slideList = slides
|
|
746
|
+
.map((s, i) => {
|
|
747
|
+
if (s.type === 'title' || s.type === 'closing')
|
|
748
|
+
return null;
|
|
749
|
+
const cd = s.content_direction.replace(/\n/g, ' ').slice(0, 200);
|
|
750
|
+
return ` Slide ${i + 1}: "${s.title}" — ${cd}`;
|
|
751
|
+
})
|
|
752
|
+
.filter(Boolean)
|
|
753
|
+
.join('\n');
|
|
754
|
+
return `You are a presentation layout composer. For each content slide, choose the best layout and create an HTML skeleton.
|
|
755
|
+
|
|
756
|
+
AVAILABLE LAYOUTS:
|
|
757
|
+
${layoutList}
|
|
758
|
+
|
|
759
|
+
SLIDES:
|
|
760
|
+
${slideList}
|
|
761
|
+
|
|
762
|
+
OUTPUT FORMAT — for each content slide:
|
|
763
|
+
===SLIDE:N===
|
|
764
|
+
LAYOUT: layout-name
|
|
765
|
+
<div class="content">
|
|
766
|
+
<!-- adapted skeleton from the chosen layout, with {{PLACEHOLDER}} markers -->
|
|
767
|
+
<!-- adjust element count to match the slide's content -->
|
|
768
|
+
</div>
|
|
769
|
+
===END===
|
|
770
|
+
|
|
771
|
+
RULES:
|
|
772
|
+
⚠ Use at least 5 DIFFERENT layouts across all slides. Never use the same layout 3+ times.
|
|
773
|
+
⚠ Match layout to content: data → chart, comparison → table, steps → flow, metrics → numbers.
|
|
774
|
+
⚠ Adapt element count: if content has 4 items → 4 cards/bars. If 3 steps → 3 step divs.
|
|
775
|
+
⚠ Output ONLY the .content div — no <html>, no <style>, no boilerplate.
|
|
776
|
+
⚠ Skip title and closing slides (they use fixed templates).
|
|
777
|
+
⚠ Placeholders: {{VALUE1}}, {{LABEL1}}, {{TEXT1}}, {{PERCENT1}}, {{HEIGHT1}}, {{TITLE}}, {{INSIGHT}}, etc.
|
|
778
|
+
⚠ Keep skeletons minimal and structural — just the div hierarchy with class names and placeholders.`;
|
|
779
|
+
}
|
|
780
|
+
export function parseSkeletons(text) {
|
|
781
|
+
const results = new Map();
|
|
782
|
+
const blocks = text.split(/===SLIDE:\s*/);
|
|
783
|
+
for (const block of blocks) {
|
|
784
|
+
const trimmed = block.trim();
|
|
785
|
+
if (!trimmed)
|
|
786
|
+
continue;
|
|
787
|
+
const numMatch = trimmed.match(/^(\d+)\s*===/);
|
|
788
|
+
if (!numMatch)
|
|
789
|
+
continue;
|
|
790
|
+
const slideNum = parseInt(numMatch[1], 10);
|
|
791
|
+
const layoutMatch = trimmed.match(/LAYOUT:\s*([^\n]+)/);
|
|
792
|
+
const layout = layoutMatch ? layoutMatch[1].trim() : '';
|
|
793
|
+
const contentMatch = trimmed.match(/(<div class="content">[\s\S]*?<\/div>)\s*(?:===END===|$)/);
|
|
794
|
+
const skeleton = contentMatch ? contentMatch[1].trim() : '';
|
|
795
|
+
if (layout && skeleton.length > 30) {
|
|
796
|
+
results.set(slideNum, { layout, skeleton });
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
return results;
|
|
800
|
+
}
|
|
801
|
+
export function buildFillPrompt(skeleton, layoutCss, contentDirection, slideTitle, design, slideIndex, totalSlides, language) {
|
|
802
|
+
const langRule = language === 'ko'
|
|
803
|
+
? 'ALL visible text MUST be in Korean. Write naturally in Korean.'
|
|
804
|
+
: 'ALL visible text MUST be in English.';
|
|
805
|
+
return `You are filling content into a pre-built HTML slide skeleton.
|
|
806
|
+
Output ONLY the complete HTML document — no explanation, no markdown.
|
|
807
|
+
|
|
808
|
+
═══ SLIDE ═══
|
|
809
|
+
Title: "${slideTitle}" | Slide ${slideIndex + 1} of ${totalSlides}
|
|
810
|
+
|
|
811
|
+
═══ CONTENT DIRECTION ═══
|
|
812
|
+
${contentDirection}
|
|
813
|
+
|
|
814
|
+
⚠ Generate REAL, specific content based on the direction above. Never display placeholder text.
|
|
815
|
+
|
|
816
|
+
═══ SKELETON (preserve this structure, replace {{PLACEHOLDERS}} with real content) ═══
|
|
817
|
+
${skeleton}
|
|
818
|
+
|
|
819
|
+
═══ LAYOUT CSS ═══
|
|
820
|
+
${layoutCss}
|
|
821
|
+
|
|
822
|
+
═══ DESIGN SYSTEM ═══
|
|
823
|
+
Primary: ${design.primary_color} | Accent: ${design.accent_color} | BG: ${design.background_color}
|
|
824
|
+
Text: ${design.text_color} | Accent Light: ${design.accent_light} | Gradient End: ${design.gradient_end}
|
|
825
|
+
Title Font: ${design.font_title} | Body Font: ${design.font_body} | Mood: ${design.mood}
|
|
826
|
+
|
|
827
|
+
═══ BUILD THE COMPLETE HTML PAGE ═══
|
|
828
|
+
1. Start with <!DOCTYPE html><html><head><style>
|
|
829
|
+
2. In <style>: BOILERPLATE (below) + LAYOUT CSS (above) + any extra styling you want
|
|
830
|
+
3. In <body>: .slide-title with the title, then the SKELETON with placeholders filled
|
|
831
|
+
4. Replace EVERY {{PLACEHOLDER}} with professional content from the content direction
|
|
832
|
+
5. If content needs more/fewer elements than the skeleton has, adapt the structure
|
|
833
|
+
6. Add visual polish: gradients, shadows, accent colors from the design system
|
|
834
|
+
|
|
835
|
+
BOILERPLATE CSS (copy into <style>):
|
|
836
|
+
* { margin:0; padding:0; box-sizing:border-box; }
|
|
837
|
+
html, body { width:1920px; height:1080px; overflow:hidden; font-family:"${design.font_body}","${design.font_title}","Segoe UI","Malgun Gothic",Arial,sans-serif; word-break:keep-all; overflow-wrap:break-word; }
|
|
838
|
+
body { display:flex; flex-direction:column; padding:60px 80px; height:1080px; background:${design.background_color}; color:${design.text_color}; font-size:26px; }
|
|
839
|
+
.slide-title h1 { font-size:52px; font-weight:700; color:${design.primary_color}; margin-bottom:20px; font-family:"${design.font_title}","Segoe UI",sans-serif; }
|
|
840
|
+
.content { flex:1; }
|
|
841
|
+
|
|
842
|
+
RULES:
|
|
843
|
+
⚠ ${langRule}
|
|
844
|
+
⚠ Korean text only — never Chinese characters (漢字), Japanese, or other scripts.
|
|
845
|
+
⚠ Font minimum: 26px for ALL text. Reduce items instead of shrinking text.
|
|
846
|
+
⚠ NO position:absolute. Flexbox/grid only.
|
|
847
|
+
⚠ NO images, NO external fonts, NO JavaScript.
|
|
848
|
+
⚠ .content MUST have flex:1 to fill remaining vertical space.
|
|
849
|
+
⚠ Page number: bottom-right corner, "${slideIndex + 1}" (font-size:12px, opacity:0.4).
|
|
850
|
+
|
|
851
|
+
Output the complete HTML now.`;
|
|
852
|
+
}
|
|
412
853
|
export const PPT_CREATE_SYSTEM_PROMPT = `You are an elite PowerPoint presentation creator.
|
|
413
854
|
You build NEW presentations using high-level layout builder tools.
|
|
414
855
|
Each tool call creates ONE complete, professionally-designed slide.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"powerpoint-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const PROJECTS_DIR: string;
|
|
|
7
7
|
export declare const CREDENTIALS_FILE_PATH: string;
|
|
8
8
|
export declare const APP_NAME = "hanseol-dev";
|
|
9
9
|
export declare const SERVICE_ID = "hanseol";
|
|
10
|
-
export declare const APP_VERSION = "5.0.2-dev.
|
|
10
|
+
export declare const APP_VERSION = "5.0.2-dev.134";
|
|
11
11
|
export declare const DASHBOARD_URL = "https://52.78.246.50.nip.io";
|
|
12
12
|
export declare const ONCE_URL = "https://52.78.246.50.nip.io:5090";
|
|
13
13
|
export declare const FREE_URL = "https://52.78.246.50.nip.io:6090";
|
package/dist/constants.js
CHANGED
|
@@ -9,7 +9,7 @@ export const PROJECTS_DIR = path.join(LOCAL_HOME_DIR, 'projects');
|
|
|
9
9
|
export const CREDENTIALS_FILE_PATH = path.join(LOCAL_HOME_DIR, 'credentials.json');
|
|
10
10
|
export const APP_NAME = 'hanseol-dev';
|
|
11
11
|
export const SERVICE_ID = 'hanseol';
|
|
12
|
-
export const APP_VERSION = '5.0.2-dev.
|
|
12
|
+
export const APP_VERSION = '5.0.2-dev.134';
|
|
13
13
|
export const DASHBOARD_URL = 'https://52.78.246.50.nip.io';
|
|
14
14
|
export const ONCE_URL = 'https://52.78.246.50.nip.io:5090';
|
|
15
15
|
export const FREE_URL = 'https://52.78.246.50.nip.io:6090';
|