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