diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-04 13:32:46 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-04 13:32:46 +0300 |
| commit | 760da569cff09bd2ea4ca92b2af14c643505d98e (patch) | |
| tree | 4564d8bfbe78f3773b6a4f6a0ec98dd8212417c3 /internal | |
| parent | 49d79f4cc718f08d89dea117210b5d14ddc437f3 (diff) | |
feat: use photography-only style pool for ultra-realistic mode, update READMEv0.17.0
Ultra-realistic mode now picks from a dedicated realisticStyles pool
(DSLR photography, cinematic stills, hyper-realistic) instead of the
comicStyles pool. This prevents "comic strip" language from dominating
the model's output when photorealistic rendering is requested.
README updated: 12-page comic count (5 gallery pages), rendering mode
description clarified to show both pools and the 50/50 random default.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/story/artist.go | 22 | ||||
| -rw-r--r-- | internal/version.go | 2 |
2 files changed, 20 insertions, 4 deletions
diff --git a/internal/story/artist.go b/internal/story/artist.go index 04f459a..8236d2e 100644 --- a/internal/story/artist.go +++ b/internal/story/artist.go @@ -68,8 +68,16 @@ const ( "and environment. NOT a drawing, painting, or illustration. Real-world photo quality.\n" ) -// comicStyles is the pool from which the page style is drawn each run. -// Ultra realistic is selected 90% of the time. +// realisticStyles is the style pool used when ultra-realistic mode is active. +// These descriptions avoid "comic strip" / "illustration" language so the image +// model produces photographic output rather than comic-book artwork. +var realisticStyles = []string{ + "ultra-realistic DSLR photography, cinematic 35mm lens, natural lighting, hyper-detailed textures", + "cinematic still photography, golden-hour lighting, shallow depth of field, photojournalism quality", + "hyper-realistic photography, studio-quality lighting, sharp focus, true-to-life colours and textures", +} + +// comicStyles is the pool used when standard comic style is active. var comicStyles = []string{ "ultra realistic comic strip with photographic detail and dramatic lighting", "classic American comic book with bold ink outlines, halftone dots, and primary colors", @@ -180,7 +188,15 @@ func NewArtist(config *ArtistConfig) *Artist { func (a *Artist) DrawComicPages(storyText, prebuiltBible, titleSlug string, entries []batch.WordEntry) ([]string, error) { style := a.style if style == "" { - style = pickStyle() + // Ultra-realistic mode uses photography-only language so the image model + // produces photographic output. The comicStyles pool contains "comic strip" + // which dominates the model's style interpretation even when the + // renderingRequirement const is present — hence a separate pool is needed. + if a.ultraRealistic { + style = realisticStyles[rand.IntN(len(realisticStyles))] + } else { + style = pickStyle() + } } fmt.Printf(" Comic style: %s\n", style) if a.ultraRealistic { diff --git a/internal/version.go b/internal/version.go index 2350872..9f7173a 100644 --- a/internal/version.go +++ b/internal/version.go @@ -1,3 +1,3 @@ package internal -const Version = "0.16.0" +const Version = "0.17.0" |
