From 2d6cd1a4d388b22396827cbf151aa2990ca6cd5a Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 4 Apr 2026 15:45:55 +0300 Subject: feat: skip existing pages on re-run, add --story-slug for targeted repair - loadOrGenerate() in artist.go skips API calls for pages already on disk, loading bytes for the reference chain. Re-runs now only generate missing pages instead of regenerating the whole comic. - --story-slug flag forces the output directory slug so a repair run writes to the same directory as the original (e.g. --story-slug ai-jungle-quest). Co-Authored-By: Claude Sonnet 4.6 --- internal/cli/command.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'internal/cli/command.go') diff --git a/internal/cli/command.go b/internal/cli/command.go index a1168b5..090b2d1 100644 --- a/internal/cli/command.go +++ b/internal/cli/command.go @@ -69,6 +69,9 @@ func setupFlags(cmd *cobra.Command, flags *Flags) { cmd.Flags().StringVar(&flags.StoryStyle, "story-style", "", "Art style for comic pages (default: random). E.g. \"ultra realistic comic strip with photographic detail and dramatic lighting\"") cmd.Flags().StringVar(&flags.StoryTheme, "story-theme", "", "Genre/theme for the story (default: random). E.g. \"a thrilling space adventure with aliens and spaceships\"") cmd.Flags().BoolVar(&flags.StoryNoUltraRealistic, "no-ultra-realistic", false, "Disable photorealistic rendering requirement; produces standard comic-book style output") + cmd.Flags().StringVar(&flags.StorySlug, "story-slug", "", + "Force the output directory slug for --story (e.g. \"ai-jungle-quest\"). "+ + "Use this to repair a partial run: existing pages are skipped, missing ones are generated.") cmd.Flags().StringVar(&flags.NarratorVoice, "narrator-voice", "", "Gemini voice for cinematic story narration (default: random from cinematic pool). "+ "Valid values: Charon, Fenrir, Enceladus, Algieba, Aoede, Schedar") -- cgit v1.2.3