summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-04 12:03:58 +0300
committerPaul Buetow <paul@buetow.org>2026-04-04 12:03:58 +0300
commit7327dd269f1361d31ac97184a9e66881cbf1b1ce (patch)
tree8e73be0014fe7795b1e7b0f7101194b567d54e59 /internal
parent03f2ca528a34a7e099f1db8d5a931136af2a4652 (diff)
feat: 5 gallery pages with distinct poses, fix single-image layoutv0.14.0
- Increase galleryPageCount from 3 to 5 (12 total pages per comic) - Add 2 new gallery poses: profile close-up and power stance full-body - Fix gallery prompt: explicitly state single 16:9 landscape image, no grid/panels Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal')
-rw-r--r--internal/story/artist.go10
-rw-r--r--internal/version.go2
2 files changed, 8 insertions, 4 deletions
diff --git a/internal/story/artist.go b/internal/story/artist.go
index fd04107..4d88126 100644
--- a/internal/story/artist.go
+++ b/internal/story/artist.go
@@ -23,7 +23,8 @@ const (
// galleryPageCount is the number of text-free close-up character art pages
// inserted between the story pages and the back cover. Each is a full-bleed
// single illustration of the hero/heroine in a distinct dramatic pose.
- galleryPageCount = 3
+ // cover + 5 story pages + 5 gallery pages + back cover = 12 total.
+ galleryPageCount = 5
// pageMaxRetries is the number of times a story page generation is retried
// before being skipped. Gemini image generation occasionally returns no data
@@ -589,6 +590,8 @@ var galleryPoses = []string{
"extreme close-up portrait: face and shoulders filling the entire frame, dramatic three-quarter lighting, intense gaze directly at the viewer, fine detail on eyes and expression",
"dynamic action pose: full body, low-angle shot looking up at the heroine against the sky or setting backdrop, confident stance, hair and clothing caught in motion",
"atmospheric mid-shot: waist-up, the heroine silhouetted or lit by the ambient environment (bioluminescence, sunset, neon glow), looking off into the distance with a sense of wonder or resolve",
+ "profile close-up: side view of face and upper body, soft rim lighting tracing the jawline and hair, contemplative expression, rich background bokeh",
+ "power stance full-body: the heroine seen from the front at eye level, arms relaxed but ready, environment filling the frame behind her, golden-hour or dramatic storm light",
}
// buildGalleryPagePrompt constructs a text-free close-up character art page prompt.
@@ -600,9 +603,10 @@ func buildGalleryPagePrompt(style, bible string, galleryNum int, renderReq strin
return fmt.Sprintf(
"Art style: %s.%s\n"+
renderReq+
- "FULL-BLEED CHARACTER ART PAGE — portrait orientation, single illustration.\n"+
+ "FULL-BLEED SINGLE ILLUSTRATION — landscape 16:9 format, ONE image only, NO grid, NO panels.\n"+
+ "DO NOT split the image into multiple panels or sections. The ENTIRE canvas is ONE single scene.\n"+
"NO text of any kind. NO title. NO labels. NO speech bubbles. NO panel borders. NO UI elements.\n"+
- "This is a text-free variant cover / gallery page. Pure art only.\n\n"+
+ "This is a text-free character gallery page. Pure art only.\n\n"+
"Composition: %s\n\n"+
"The subject MUST be EXACTLY the main heroine described in the reference above — "+
"same face, same age, same clothing, same companion animal if naturally present. "+
diff --git a/internal/version.go b/internal/version.go
index d6c413b..b7f717a 100644
--- a/internal/version.go
+++ b/internal/version.go
@@ -1,3 +1,3 @@
package internal
-const Version = "0.13.0"
+const Version = "0.14.0"