8181CORNER_WARMTH = [
8282 # cx, cy, rx, ry, color, opacity
8383 #
84- # Daytime: deep Saffron packed tight into the upper-left corner like a sun,
85- # Keppel + Caribbean Green saturating the entire bottom edge,
86- # Steel Teal bridging the mid-sky, large luminous white clearing center-right.
87- # Reference: Layer5 Marketing/People/legos.ai, worship.ai, internships-open.ai
88- (0.05 , 0.06 , 0.32 , 0.28 , SAFFRON , 0.98 ), # deep saffron — tight upper-left sun
89- (0.20 , 0.16 , 0.28 , 0.24 , BANANA , 0.80 ), # banana mania — warm glow off the sun
90- (0.08 , 0.86 , 0.30 , 0.26 , TEAL , 0.90 ), # keppel — bottom-left, strong
91- (0.45 , 0.94 , 0.46 , 0.22 , TEAL , 0.92 ), # keppel — bottom center, wide band
92- (0.88 , 0.88 , 0.38 , 0.26 , TEAL_LIGHT , 0.90 ), # caribbean green — bottom-right, strong
93- (0.44 , 0.50 , 0.36 , 0.30 , STEEL_TEAL , 0.60 ), # steel teal — mid-sky transition
94- # Large luminous white clearing — center-right, generous size so Five
95- # reads clearly and the transition from color edges feels spacious
96- (0.66 , 0.44 , 0.46 , 0.58 , WHITE , 0.97 ),
84+ # Daytime: Saffron sun packed into upper-left corner, Steel Teal sweeping the
85+ # upper-right sky (prominent blue sky field — matching "Twitter post 2.ai" / Kubernetes
86+ # signpost reference), Keppel + Caribbean Green saturating the entire bottom edge,
87+ # large luminous white clearing center-right where Five stands.
88+ # Reference: Layer5 "Twitter post 2.ai" (Kubernetes signpost), "legos.ai", "worship.ai"
89+ (0.05 , 0.06 , 0.36 , 0.30 , SAFFRON , 1.00 ), # deep saffron — upper-left sun, full
90+ (0.22 , 0.14 , 0.30 , 0.26 , BANANA , 0.90 ), # banana mania — warm halo off the sun
91+ (0.82 , 0.06 , 0.46 , 0.38 , STEEL_TEAL , 0.92 ), # steel teal — upper-right sky, prominent
92+ (0.08 , 0.86 , 0.32 , 0.28 , TEAL , 0.96 ), # keppel — bottom-left, vivid
93+ (0.45 , 0.94 , 0.50 , 0.24 , TEAL , 0.98 ), # keppel — bottom center, full-width band
94+ (0.88 , 0.88 , 0.42 , 0.28 , TEAL_LIGHT , 0.96 ), # caribbean green — bottom-right, vivid
95+ (0.44 , 0.36 , 0.36 , 0.30 , STEEL_TEAL , 0.68 ), # steel teal — mid-sky transition
96+ # Large luminous white clearing — center-right, where Five stands
97+ (0.66 , 0.44 , 0.54 , 0.68 , WHITE , 0.97 ),
9798]
9899
99100DEEP_SPACE = [
100- # Night sky: Charcoal at three corners for deep space darkness,
101- # Steel Teal dominates the upper-left sky, Saffron gold accent sits in the
102- # upper-RIGHT corner (not lower-left) — matching the "Meet Five" reference
103- # where gold appears as a distant warm star on the opposite side from the dark.
104- # Reference: Layer5 Marketing/People/instructions.ai, downhill.ai,
101+ # Night sky: Charcoal anchors three corners for deep space darkness,
102+ # Steel Teal dominates the upper sky sweep, Saffron in upper-RIGHT as a
103+ # LARGE vivid color field (not just a corner dot) — matching "Bi-Weekly Meshery
104+ # Build & Release" where saffron occupies 40%+ of the canvas right side, and
105+ # "Newcomers Meeting" where saffron/gold is a dominant warm presence.
106+ # Reference: "Bi-Weekly Meshery Build & Release.ai", "Newcomers Meeting.ai",
105107 # "Meet Five our intergalactic Cloud Native Hero" illustration
106- (0.04 , 0.06 , 0.28 , 0.30 , CHARCOAL , 0.95 ), # very dark — upper-left corner
107- (0.04 , 0.94 , 0.26 , 0.24 , CHARCOAL , 0.92 ), # very dark — lower-left corner
108- (0.96 , 0.94 , 0.22 , 0.20 , CHARCOAL , 0.85 ), # very dark — lower-right corner
109- (0.88 , 0.10 , 0.30 , 0.28 , SAFFRON , 0.62 ), # gold — upper-RIGHT accent (distant star)
110- (0.72 , 0.08 , 0.24 , 0.22 , BANANA , 0.45 ), # banana — soft halo around the gold
111- (0.46 , 0.18 , 0.62 , 0.44 , STEEL_TEAL , 0.85 ), # steel teal — large upper-sky sweep
112- (0.16 , 0.50 , 0.30 , 0.40 , STEEL_TEAL , 0.70 ), # steel teal — mid-left depth layer
108+ (0.04 , 0.06 , 0.28 , 0.30 , CHARCOAL , 0.98 ), # very dark — upper-left corner
109+ (0.04 , 0.94 , 0.26 , 0.24 , CHARCOAL , 0.95 ), # very dark — lower-left corner
110+ (0.96 , 0.94 , 0.22 , 0.20 , CHARCOAL , 0.90 ), # very dark — lower-right corner
111+ (0.88 , 0.10 , 0.46 , 0.44 , SAFFRON , 0.90 ), # gold — upper-RIGHT, large vivid field
112+ (0.76 , 0.08 , 0.32 , 0.28 , BANANA , 0.68 ), # banana — warm halo around the gold
113+ (0.44 , 0.18 , 0.70 , 0.52 , STEEL_TEAL , 0.90 ), # steel teal — large upper-sky sweep
114+ (0.16 , 0.52 , 0.34 , 0.46 , STEEL_TEAL , 0.80 ), # steel teal — mid-left depth layer
113115 # Large luminous clearing — generous, center-weighted where Five stands
114- (0.60 , 0.46 , 0.46 , 0.56 , WHITE , 0.94 ),
115- (0.65 , 0.42 , 0.22 , 0.28 , OFF_WHITE , 0.88 ), # bright core
116+ (0.60 , 0.46 , 0.54 , 0.66 , WHITE , 0.95 ),
117+ (0.65 , 0.42 , 0.24 , 0.30 , OFF_WHITE , 0.90 ), # bright core
116118]
117119
118120# Map category → composition. Corner Warmth is the warmer, more energetic look;
@@ -154,7 +156,7 @@ def bg_blobs_svg(category, W, H):
154156 1200px canvas gives stdDeviation=120, matching the style guide reference.
155157 """
156158 composition = CATEGORY_COMPOSITION .get (category , CORNER_WARMTH )
157- blur_std = round (W * 0.08 ) # 96px at 1200px canvas — slightly crisper zone edges
159+ blur_std = round (W * 0.10 ) # 120px at 1200px canvas — wide, smooth color transitions
158160
159161 filter_def = (
160162 f'<filter id="bgBlur" x="-100%" y="-100%" width="300%" height="300%">\n '
@@ -440,7 +442,7 @@ def generate_hero_svg(title, subtitle, category, output_path, repo_root,
440442 footer_text = "layer5.io - Making Engineers Expect More from Their Infrastructure"
441443
442444 # ── Text-side scrim width (left 58% of canvas) ───────────────────────
443- scrim_w = int (W * 0.58 )
445+ scrim_w = int (W * 0.52 )
444446
445447 # ── Compose SVG ───────────────────────────────────────────────────────
446448 svg_content = f"""<?xml version="1.0" encoding="UTF-8"?>
@@ -454,10 +456,10 @@ def generate_hero_svg(title, subtitle, category, output_path, repo_root,
454456 <clipPath id="canvas">
455457 <rect width="{ W } " height="{ H } "/>
456458 </clipPath>
457- <!-- Left-to-right dark scrim — guarantees text contrast on any background composition -->
459+ <!-- Left-to-right dark scrim — text contrast without killing color vibrancy -->
458460 <linearGradient id="textScrim" x1="0" x2="1" y1="0" y2="0">
459- <stop offset="0%" stop-color="{ EERIE_BLACK } " stop-opacity="0.72 "/>
460- <stop offset="65 %" stop-color="{ EERIE_BLACK } " stop-opacity="0.45 "/>
461+ <stop offset="0%" stop-color="{ EERIE_BLACK } " stop-opacity="0.48 "/>
462+ <stop offset="55 %" stop-color="{ EERIE_BLACK } " stop-opacity="0.22 "/>
461463 <stop offset="100%" stop-color="{ EERIE_BLACK } " stop-opacity="0"/>
462464 </linearGradient>
463465 { bg_filter_def }
0 commit comments