From f8dd5e0736b2c1d7700b3cd8f4ebcfc5b89396bb Mon Sep 17 00:00:00 2001 From: mAi Date: Mon, 11 May 2026 21:15:23 +0200 Subject: [PATCH] =?UTF-8?q?mAi:=20add=206=20style=20presets=20=E2=80=94=20?= =?UTF-8?q?cinematic,=20watercolor,=20anime,=203d-render,=20line-art,=20is?= =?UTF-8?q?ometric?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cross-coordination with flexsiebels/head (paul). m wants more style options on /imagine/new; flexsiebels has the UI side ready to bump IMAGEN_STYLES in lib/server/imagen.ts + schemas.ts as soon as the worker accepts them. styles.yaml: 6 new entries with FLUX-friendly prompt fragments. No code changes — Apply() and Styles() consume the embedded YAML directly, the "enum" is dynamic. prompt_test.go: extend TestStylesContainsAllExpected expectation list (alphabetical, '3' < 'a' so 3d-render leads). Total enum: 11 (5 existing + 6 new). flexsiebels delegation message 1669. --- internal/prompt/prompt_test.go | 2 +- internal/prompt/styles.yaml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/prompt/prompt_test.go b/internal/prompt/prompt_test.go index 2af8f00..f8e627b 100644 --- a/internal/prompt/prompt_test.go +++ b/internal/prompt/prompt_test.go @@ -37,7 +37,7 @@ func TestApplyToEmptyPromptUsesPresetOnly(t *testing.T) { } func TestStylesContainsAllExpected(t *testing.T) { - want := []string{"blog-header", "diagram", "illustration", "photo", "sketch"} + want := []string{"3d-render", "anime", "blog-header", "cinematic", "diagram", "illustration", "isometric", "line-art", "photo", "sketch", "watercolor"} got := Styles() if len(got) != len(want) { t.Fatalf("Styles() = %v, want %v", got, want) diff --git a/internal/prompt/styles.yaml b/internal/prompt/styles.yaml index 8efd878..d010c84 100644 --- a/internal/prompt/styles.yaml +++ b/internal/prompt/styles.yaml @@ -4,3 +4,9 @@ styles: diagram: "minimal technical diagram, isometric, white background, line-art" sketch: "rough pencil sketch, hand-drawn, monochrome" blog-header: "wide aspect, conceptual, soft palette, editorial illustration" + cinematic: "cinematic still, 35mm film, shallow depth of field, dramatic lighting, color graded" + watercolor: "watercolor painting, soft washes, paper texture, loose brushwork" + anime: "anime illustration, cel-shaded, expressive linework, vibrant flat colors" + 3d-render: "3d render, octane, soft global illumination, subtle ambient occlusion, physically based materials" + line-art: "clean line art, black ink on white, no shading, even stroke weight" + isometric: "isometric illustration, 30 degree projection, flat colors, crisp geometric shapes"