summaryrefslogtreecommitdiff
path: root/cmd/stylegrid/main.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-23 09:39:50 +0300
committerPaul Buetow <paul@buetow.org>2026-04-23 09:39:50 +0300
commitb831b6bff98ceb4fbe992640a857d27501763b40 (patch)
tree5f64402a4592e47dbe40a62d596c2da637162e4c /cmd/stylegrid/main.go
parent1834c8886b15aa3b868e988c185ac5c344392886 (diff)
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
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)
+}