summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/comicforge/cli.go10
-rw-r--r--cmd/stylegrid/main.go30
2 files changed, 40 insertions, 0 deletions
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)
+}