summaryrefslogtreecommitdiff
path: root/internal/story/artist.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-06 17:21:52 +0300
committerPaul Buetow <paul@buetow.org>2026-04-06 17:21:52 +0300
commit13d4f703e45dad9d611b7b720b0148e08e1409a3 (patch)
treefa7f19f8c68ac0d43e62b6780d081cad5caf1e61 /internal/story/artist.go
parent00488c7e8d7e93406c3bcf2264d7c7239c3a5516 (diff)
feat: mandatory speech bubbles in story panels, v0.26.0v0.26.0
Two-part fix for missing dialogue bubbles: 1. Panel script prompt: each panel description must include quoted Bulgarian dialogue for the character to speak/think. At least 3 of 4 panels per page must have speech or thought text in the description. 2. Image prompt: added MANDATORY SPEECH BUBBLES block requiring at least 3 of 4 panels to contain a bubble, describing exact white-background/black-outline style for speech and cloud-shape for thought bubbles, all text Bulgarian Cyrillic. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/story/artist.go')
-rw-r--r--internal/story/artist.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/internal/story/artist.go b/internal/story/artist.go
index 3c66978..4ae0a6f 100644
--- a/internal/story/artist.go
+++ b/internal/story/artist.go
@@ -551,6 +551,12 @@ func buildStoryPagePrompt(section string, pageNum, totalPages int, style, bible
"Each panel is separated by a thin black gutter line. "+
"All 4 panels must be clearly distinct scenes — NOT one continuous image. "+
"The full image area must be covered by the 4 panels with no empty space.\n"+
+ "MANDATORY SPEECH BUBBLES — this is a comic book; characters MUST speak:\n"+
+ " • At least 3 of the 4 panels MUST contain a speech bubble or thought bubble.\n"+
+ " • If the panel description includes quoted dialogue, render it EXACTLY inside a speech bubble.\n"+
+ " • Speech bubbles have a white background, black outline, and a tail pointing to the speaker.\n"+
+ " • Thought bubbles use a cloud shape with small circles leading to the thinker.\n"+
+ " • ALL bubble text is in Bulgarian Cyrillic — never Roman letters.\n"+
"VARIETY MANDATE — every panel MUST differ from the others in at least 3 of these dimensions: "+
"camera angle (close-up, medium shot, wide shot, bird's-eye, low angle), "+
"character pose or action, location or background detail, lighting or time-of-day, "+