From b831b6bff98ceb4fbe992640a857d27501763b40 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 23 Apr 2026 09:39:50 +0300 Subject: Add new style families and regenerate style/theme montage. This adds pulp, mecha, pixel-art, ink-wash, and clay style pools across config defaults, style selection, and CLI/runner wiring, and extends tests to cover the new modes. It also updates the stylegrid tooling/docs and regenerates the all-styles-and-themes reference image with labeled examples. Made-with: Cursor --- cmd/comicforge/cli.go | 10 ++++++++++ cmd/stylegrid/main.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 cmd/stylegrid/main.go (limited to 'cmd') diff --git a/cmd/comicforge/cli.go b/cmd/comicforge/cli.go index 683b8c7..a6c0526 100644 --- a/cmd/comicforge/cli.go +++ b/cmd/comicforge/cli.go @@ -185,6 +185,11 @@ func runCommand(ctx context.Context, cmd *cobra.Command, deps commandDeps, flags MangaStyles: cfg.Styles.Manga, HorrorStyles: cfg.Styles.Horror, WatercolorStyles: cfg.Styles.Watercolor, + PulpStyles: cfg.Styles.Pulp, + MechaStyles: cfg.Styles.Mecha, + PixelArtStyles: cfg.Styles.PixelArt, + InkWashStyles: cfg.Styles.InkWash, + ClayStyles: cfg.Styles.Clay, Theme: flags.theme, Language: cfg.Language.Story, Script: cfg.Language.Script, @@ -245,6 +250,11 @@ func runPromptCommand(ctx context.Context, cmd *cobra.Command, deps commandDeps, MangaStyles: cfg.Styles.Manga, HorrorStyles: cfg.Styles.Horror, WatercolorStyles: cfg.Styles.Watercolor, + PulpStyles: cfg.Styles.Pulp, + MechaStyles: cfg.Styles.Mecha, + PixelArtStyles: cfg.Styles.PixelArt, + InkWashStyles: cfg.Styles.InkWash, + ClayStyles: cfg.Styles.Clay, Theme: flags.theme, Language: cfg.Language.Story, Script: cfg.Language.Script, diff --git a/cmd/stylegrid/main.go b/cmd/stylegrid/main.go new file mode 100644 index 0000000..535bbe1 --- /dev/null +++ b/cmd/stylegrid/main.go @@ -0,0 +1,30 @@ +// Command stylegrid renders one comparison image for every style line and story genre in config. +package main + +import ( + "context" + "flag" + "fmt" + "os" + "time" + + "codeberg.org/snonux/comicforge/internal/stylegrid" +) + +func main() { + configPath := flag.String("config", "", "config file (default: same search paths as comicforge)") + outPath := flag.String("output", "stylegrid.png", "output PNG path") + scene := flag.String("scene", stylegrid.DefaultScene, "shared scene description for all cells") + aspect := flag.String("aspect-ratio", "16:9", "Gemini aspect ratio for each cell") + timeout := flag.Duration("timeout", 45*time.Minute, "overall timeout for all generations + montage") + flag.Parse() + + ctx, cancel := context.WithTimeout(context.Background(), *timeout) + defer cancel() + + if err := stylegrid.Run(ctx, *configPath, *outPath, *scene, *aspect); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } + fmt.Printf("Wrote %s\n", *outPath) +} -- cgit v1.2.3