Add Claude Sonnet 4.6 pelican variants
Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
1 parent
c0d9952c28
commit
00226c3e70
6 files changed
+1014
-9
No files matched your search
+1
-1
@@ -34,7 +34,7 @@ One-shot LLM eval cases by NAGI STUDIO: same prompt, different model x harness x
|
||||
| Claude Opus 4.7 | Anthropic | Cursor · Max | 02 |
|
||||
| Claude Opus 4.6 | Anthropic | Cursor · Max | 02 |
|
||||
| Claude Opus 4.5 | Anthropic | Cursor · Thinking | 02 |
|
||||
| Claude Sonnet 4.6 | Anthropic | Cursor · High | 01 |
|
||||
| Claude Sonnet 4.6 | Anthropic | Claude Code · Max<br>Cursor · High | 03 |
|
||||
| GPT-5.5 Pro | OpenAI | ChatGPT Web · Extended Pro | 02 |
|
||||
| GPT-5.5 | OpenAI | Codex CLI · xhigh | 02 |
|
||||
| GPT-5.4 | OpenAI | Cursor · xhigh<br>Codex CLI · xhigh | 05 |
|
||||
|
||||
@@ -34,7 +34,7 @@ NAGI STUDIO 的 LLM 测评案例集:同一段提示词,不同「模型 × Ha
|
||||
| Claude Opus 4.7 | Anthropic | Cursor · Max | 02 |
|
||||
| Claude Opus 4.6 | Anthropic | Cursor · Max | 02 |
|
||||
| Claude Opus 4.5 | Anthropic | Cursor · Thinking | 02 |
|
||||
| Claude Sonnet 4.6 | Anthropic | Cursor · High | 01 |
|
||||
| Claude Sonnet 4.6 | Anthropic | Claude Code · Max<br>Cursor · High | 03 |
|
||||
| GPT-5.5 Pro | OpenAI | ChatGPT Web · Extended Pro | 02 |
|
||||
| GPT-5.5 | OpenAI | Codex CLI · xhigh | 02 |
|
||||
| GPT-5.4 | OpenAI | Cursor · xhigh<br>Codex CLI · xhigh | 05 |
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"label": "Claude Sonnet 4.6",
|
||||
"vendor": "Anthropic",
|
||||
"harness": "Claude Code",
|
||||
"effort": "Max",
|
||||
"artifactDir": "claude-sonnet-4-6/claude-code-max",
|
||||
"order": 18.9,
|
||||
"runs": {
|
||||
"pelican-cycling": {
|
||||
"file": "pelican-beach.svg",
|
||||
"note": {
|
||||
"zh": "在 Claude Code 中以 Claude Sonnet 4.6(Max 思考配额)一次生成。",
|
||||
"en": "Generated in one shot by Claude Sonnet 4.6 (Max effort) inside Claude Code."
|
||||
},
|
||||
"contributor": "Nagi-ovo"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,13 +6,23 @@
|
||||
"artifactDir": "claude-sonnet-4-6/cursor-high",
|
||||
"order": 19,
|
||||
"runs": {
|
||||
"pelican-cycling": {
|
||||
"file": "pelican-beach.svg",
|
||||
"note": {
|
||||
"zh": "在 Cursor CLI 中以 Claude Sonnet 4.6(High 思考配额)一次生成。原始 SVG 的注释中混入非法 XML/编码字节,导致浏览器只渲染到一半并显示解析错误;Codex 仅将这些注释里的坏字符替换为 ASCII 连字符以修复加载错误,未改动任何图形元素。",
|
||||
"en": "Generated in one shot by Claude Sonnet 4.6 (High effort) inside Cursor CLI. The original SVG contained invalid XML/encoding bytes inside comments, causing browsers to stop rendering partway through with a parse error; Codex only replaced those bad comment characters with ASCII hyphens to fix loading, without changing any graphical elements."
|
||||
"pelican-cycling": [
|
||||
{
|
||||
"file": "pelican-beach.svg",
|
||||
"note": {
|
||||
"zh": "在 Cursor CLI 中以 Claude Sonnet 4.6(High 思考配额)一次生成。原始 SVG 的注释中混入非法 XML/编码字节,导致浏览器只渲染到一半并显示解析错误;Codex 仅将这些注释里的坏字符替换为 ASCII 连字符以修复加载错误,未改动任何图形元素。",
|
||||
"en": "Generated in one shot by Claude Sonnet 4.6 (High effort) inside Cursor CLI. The original SVG contained invalid XML/encoding bytes inside comments, causing browsers to stop rendering partway through with a parse error; Codex only replaced those bad comment characters with ASCII hyphens to fix loading, without changing any graphical elements."
|
||||
},
|
||||
"contributor": "Nagi-ovo"
|
||||
},
|
||||
"contributor": "Nagi-ovo"
|
||||
}
|
||||
{
|
||||
"file": "pelican-beach-2.svg",
|
||||
"note": {
|
||||
"zh": "第二版:在 Cursor CLI 中以 Claude Sonnet 4.6(High 思考配额)一次生成,作为独立 SVG 变体登记,保留原版产物不变。",
|
||||
"en": "Second version: generated in one shot by Claude Sonnet 4.6 (High effort) inside Cursor CLI and registered as a separate SVG variant, preserving the original artifact."
|
||||
},
|
||||
"contributor": "Nagi-ovo"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,416 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 600" width="900" height="600">
|
||||
<defs>
|
||||
<linearGradient id="g-sky" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" stop-color="#0b3d72"/>
|
||||
<stop offset="42%" stop-color="#1a7abf"/>
|
||||
<stop offset="100%" stop-color="#7ec8e8"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="g-ocean" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" stop-color="#0a4f7a"/>
|
||||
<stop offset="100%" stop-color="#1a8abf"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="g-sand" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" stop-color="#d6aa5a"/>
|
||||
<stop offset="100%" stop-color="#bf9438"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="g-sun" cx="50%" cy="50%" r="50%">
|
||||
<stop offset="0%" stop-color="#fffce0"/>
|
||||
<stop offset="38%" stop-color="#ffe566"/>
|
||||
<stop offset="72%" stop-color="#ffc107"/>
|
||||
<stop offset="100%" stop-color="#ff8a00" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="g-pbody" cx="35%" cy="28%" r="65%">
|
||||
<stop offset="0%" stop-color="#ffffff"/>
|
||||
<stop offset="60%" stop-color="#ebebeb"/>
|
||||
<stop offset="100%" stop-color="#cccccc"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="g-phead" cx="38%" cy="30%" r="62%">
|
||||
<stop offset="0%" stop-color="#ffffff"/>
|
||||
<stop offset="100%" stop-color="#dcdcdc"/>
|
||||
</radialGradient>
|
||||
<filter id="f-drop" x="-20%" y="-20%" width="140%" height="140%">
|
||||
<feDropShadow dx="2" dy="3" stdDeviation="3.5" flood-color="rgba(0,0,0,0.25)"/>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<!-- ─── SKY ─── -->
|
||||
<rect width="900" height="600" fill="url(#g-sky)"/>
|
||||
|
||||
<!-- Sun glow -->
|
||||
<circle cx="760" cy="100" r="85" fill="url(#g-sun)" opacity="0.8"/>
|
||||
<circle cx="760" cy="100" r="46" fill="#FFE57F"/>
|
||||
<!-- Sun rays -->
|
||||
<g stroke="#FFE57F" stroke-width="2" opacity="0.45" stroke-linecap="round">
|
||||
<line x1="760" y1="44" x2="760" y2="24"/>
|
||||
<line x1="798" y1="62" x2="812" y2="48"/>
|
||||
<line x1="816" y1="100" x2="836" y2="100"/>
|
||||
<line x1="798" y1="138" x2="812" y2="152"/>
|
||||
<line x1="760" y1="156" x2="760" y2="176"/>
|
||||
<line x1="722" y1="138" x2="708" y2="152"/>
|
||||
<line x1="704" y1="100" x2="684" y2="100"/>
|
||||
<line x1="722" y1="62" x2="708" y2="48"/>
|
||||
</g>
|
||||
|
||||
<!-- Atmospheric haze at horizon -->
|
||||
<rect x="0" y="278" width="900" height="35" fill="#a0d0ee" opacity="0.28"/>
|
||||
|
||||
<!-- Clouds -->
|
||||
<g fill="white">
|
||||
<!-- Cloud A (large, left) -->
|
||||
<ellipse cx="102" cy="82" rx="62" ry="33" opacity="0.95"/>
|
||||
<ellipse cx="158" cy="65" rx="52" ry="30" opacity="0.95"/>
|
||||
<ellipse cx="215" cy="75" rx="55" ry="31" opacity="0.95"/>
|
||||
<ellipse cx="268" cy="86" rx="46" ry="26" opacity="0.95"/>
|
||||
<ellipse cx="180" cy="97" rx="85" ry="22" opacity="0.92"/>
|
||||
<!-- Cloud B (medium, right) -->
|
||||
<ellipse cx="555" cy="58" rx="42" ry="24" opacity="0.88"/>
|
||||
<ellipse cx="598" cy="46" rx="38" ry="23" opacity="0.88"/>
|
||||
<ellipse cx="640" cy="56" rx="45" ry="25" opacity="0.88"/>
|
||||
<ellipse cx="688" cy="68" rx="36" ry="20" opacity="0.88"/>
|
||||
<ellipse cx="618" cy="74" rx="70" ry="18" opacity="0.85"/>
|
||||
<!-- Cloud C (small, distant) -->
|
||||
<ellipse cx="390" cy="138" rx="30" ry="16" opacity="0.65"/>
|
||||
<ellipse cx="421" cy="128" rx="28" ry="16" opacity="0.65"/>
|
||||
<ellipse cx="453" cy="138" rx="32" ry="16" opacity="0.65"/>
|
||||
<ellipse cx="421" cy="149" rx="45" ry="13" opacity="0.62"/>
|
||||
</g>
|
||||
<!-- Cloud shadow tints -->
|
||||
<ellipse cx="180" cy="100" rx="85" ry="12" fill="#4a88c0" opacity="0.12"/>
|
||||
<ellipse cx="618" cy="76" rx="70" ry="10" fill="#4a88c0" opacity="0.10"/>
|
||||
|
||||
<!-- ─── OCEAN ─── -->
|
||||
<path d="M0 300 L900 300 L900 430 L0 430 Z" fill="url(#g-ocean)"/>
|
||||
|
||||
<!-- Ocean shimmer lines -->
|
||||
<g stroke="#8ad0f0" stroke-width="1.8" fill="none" stroke-linecap="round" opacity="0.4">
|
||||
<path d="M70 325 Q92 318 112 325"/>
|
||||
<path d="M210 338 Q235 331 256 338"/>
|
||||
<path d="M680 318 Q704 311 722 319"/>
|
||||
<path d="M790 332 Q814 326 832 332"/>
|
||||
<path d="M470 348 Q498 341 518 348"/>
|
||||
</g>
|
||||
|
||||
<!-- Wave 1 (far) -->
|
||||
<path d="M0 320 Q112 312 225 320 Q337 328 450 320 Q562 312 675 320 Q787 328 900 320"
|
||||
stroke="white" stroke-width="1.5" fill="none" opacity="0.22"/>
|
||||
|
||||
<!-- Wave 2 (mid, with body) -->
|
||||
<path d="M0 348 Q112 338 225 350 Q337 362 450 350 Q562 338 675 350 Q787 362 900 348
|
||||
L900 362 Q787 376 675 364 Q562 352 450 364 Q337 376 225 364 Q112 352 0 362 Z"
|
||||
fill="rgba(180,225,248,0.42)"/>
|
||||
<path d="M0 348 Q112 338 225 350 Q337 362 450 350 Q562 338 675 350 Q787 362 900 348"
|
||||
stroke="white" stroke-width="2" fill="none" opacity="0.48"/>
|
||||
|
||||
<!-- Wave 3 (near shore) -->
|
||||
<path d="M0 384 Q115 374 230 386 Q345 398 460 384 Q575 370 690 384 Q805 398 900 384
|
||||
L900 402 Q805 416 690 402 Q575 388 460 402 Q345 416 230 404 Q115 392 0 402 Z"
|
||||
fill="rgba(255,255,255,0.38)"/>
|
||||
<path d="M0 384 Q115 374 230 386 Q345 398 460 384 Q575 370 690 384 Q805 398 900 384"
|
||||
stroke="white" stroke-width="2.5" fill="none" opacity="0.58"/>
|
||||
|
||||
<!-- Sun path reflection in water -->
|
||||
<path d="M692 395 Q760 382 828 396 Q795 403 760 400 Q726 397 692 395 Z"
|
||||
fill="#ffe082" opacity="0.28"/>
|
||||
<path d="M700 408 Q760 396 820 408" stroke="#ffe082" stroke-width="1.8" fill="none" opacity="0.30"/>
|
||||
|
||||
<!-- ─── BEACH ─── -->
|
||||
<!-- Wet sand (darker, compact near waterline) -->
|
||||
<path d="M0 408 Q225 396 450 410 Q675 424 900 408 L900 600 L0 600 Z" fill="#ba9050"/>
|
||||
<!-- Dry sand (warmer golden) -->
|
||||
<path d="M0 438 Q225 426 450 440 Q675 454 900 438 L900 600 L0 600 Z" fill="url(#g-sand)"/>
|
||||
|
||||
<!-- Sand texture ripples -->
|
||||
<g stroke="#a87830" stroke-width="0.9" fill="none" opacity="0.28">
|
||||
<path d="M40 510 Q110 503 178 510"/>
|
||||
<path d="M200 494 Q265 488 328 494"/>
|
||||
<path d="M680 505 Q748 498 812 505"/>
|
||||
<path d="M838 487 Q895 481 900 487"/>
|
||||
<path d="M80 554 Q148 548 215 554"/>
|
||||
<path d="M580 542 Q645 537 708 542"/>
|
||||
</g>
|
||||
|
||||
<!-- Seashell 1 -->
|
||||
<g transform="translate(162,508) rotate(-18)">
|
||||
<ellipse cx="0" cy="0" rx="13" ry="7.5" fill="#e8d298" stroke="#c8a870" stroke-width="1"/>
|
||||
<path d="M-11 0 Q0 -4 11 0" stroke="#c0984a" stroke-width="0.9" fill="none"/>
|
||||
<path d="M-9 3 Q0 -1 9 3" stroke="#c0984a" stroke-width="0.9" fill="none"/>
|
||||
<path d="M-6 6 Q0 3 6 6" stroke="#c0984a" stroke-width="0.9" fill="none"/>
|
||||
</g>
|
||||
<!-- Seashell 2 -->
|
||||
<g transform="translate(778,528) rotate(22)">
|
||||
<ellipse cx="0" cy="0" rx="8" ry="5" fill="#dfc890" stroke="#b89860" stroke-width="0.9"/>
|
||||
<path d="M-7 0 Q0 -3 7 0" stroke="#b89060" stroke-width="0.8" fill="none"/>
|
||||
<path d="M-5 2.5 Q0 -0.5 5 2.5" stroke="#b89060" stroke-width="0.8" fill="none"/>
|
||||
</g>
|
||||
<!-- Pebble cluster -->
|
||||
<g transform="translate(855,500)">
|
||||
<ellipse cx="0" cy="0" rx="6" ry="4" fill="#d4c0a0" opacity="0.85"/>
|
||||
<ellipse cx="11" cy="3" rx="5" ry="3" fill="#c8b090" opacity="0.85"/>
|
||||
<ellipse cx="5" cy="-5" rx="4" ry="3" fill="#d0c098" opacity="0.85"/>
|
||||
</g>
|
||||
|
||||
<!-- Tire tracks in wet sand (coming from left) -->
|
||||
<g opacity="0.42">
|
||||
<path d="M0 464 Q140 457 280 463" stroke="#9a7530" stroke-width="5" fill="none" stroke-dasharray="12,6"/>
|
||||
<path d="M0 476 Q140 469 280 475" stroke="#9a7530" stroke-width="5" fill="none" stroke-dasharray="12,6"/>
|
||||
</g>
|
||||
|
||||
<!-- ─── PALM TREE (right edge) ─── -->
|
||||
<g transform="translate(852,438)">
|
||||
<path d="M0 0 Q-10 -65 -3 -130 Q4 -178 -6 -220" stroke="#7a5918" stroke-width="15" fill="none" stroke-linecap="round"/>
|
||||
<!-- Trunk rings -->
|
||||
<g stroke="#5a3e10" stroke-width="1.2" opacity="0.48">
|
||||
<path d="M-6 -28 Q4 -31 -1 -35"/>
|
||||
<path d="M-7 -55 Q3 -58 -2 -62"/>
|
||||
<path d="M-7 -84 Q2 -87 -3 -91"/>
|
||||
<path d="M-7 -114 Q1 -117 -4 -121"/>
|
||||
<path d="M-7 -144 Q0 -147 -5 -151"/>
|
||||
<path d="M-7 -174 Q0 -177 -5 -181"/>
|
||||
<path d="M-7 -202 Q0 -205 -5 -209"/>
|
||||
</g>
|
||||
<!-- Fronds -->
|
||||
<path d="M-6 -220 Q18 -250 68 -238 Q90 -231 88 -221 Q84 -208 65 -211 Q38 -216 6 -228 Z" fill="#2a7818" stroke="#1a5810" stroke-width="0.9"/>
|
||||
<path d="M-6 -220 Q-32 -258 -80 -250 Q-102 -244 -102 -234 Q-100 -220 -82 -222 Q-55 -224 -18 -234 Z" fill="#2a7818" stroke="#1a5810" stroke-width="0.9"/>
|
||||
<path d="M-6 -220 Q-2 -265 10 -292 Q20 -310 30 -306 Q40 -302 34 -288 Q25 -272 8 -253 Z" fill="#359826" stroke="#1a5810" stroke-width="0.9"/>
|
||||
<path d="M-6 -220 Q26 -238 72 -214 Q94 -202 90 -192 Q84 -180 65 -186 Q40 -194 10 -216 Z" fill="#2a7818" stroke="#1a5810" stroke-width="0.9"/>
|
||||
<path d="M-6 -220 Q-38 -228 -74 -202 Q-94 -188 -90 -178 Q-84 -165 -65 -172 Q-40 -182 -12 -210 Z" fill="#2a7818" stroke="#1a5810" stroke-width="0.9"/>
|
||||
<!-- Leaflet detail lines -->
|
||||
<path d="M-6 -220 Q18 -250 68 -238" stroke="#3d9828" stroke-width="2" fill="none" opacity="0.55"/>
|
||||
<path d="M-6 -220 Q-32 -258 -80 -250" stroke="#3d9828" stroke-width="2" fill="none" opacity="0.55"/>
|
||||
<!-- Coconuts -->
|
||||
<circle cx="-2" cy="-222" r="8" fill="#6a4a1c"/>
|
||||
<circle cx="10" cy="-228" r="8" fill="#7a5528"/>
|
||||
<circle cx="-14" cy="-228" r="7" fill="#6a4a1c"/>
|
||||
</g>
|
||||
|
||||
<!-- ─── DISTANT SEABIRDS ─── -->
|
||||
<g stroke="#1a4870" stroke-width="1.7" fill="none" opacity="0.55">
|
||||
<path d="M262 252 Q272 244 282 252"/>
|
||||
<path d="M296 242 Q308 233 319 242"/>
|
||||
<path d="M178 268 Q187 261 196 268"/>
|
||||
</g>
|
||||
|
||||
<!-- ─── BICYCLE + PELICAN SHADOW ON SAND ─── -->
|
||||
<ellipse cx="440" cy="476" rx="152" ry="13" fill="rgba(30,15,0,0.20)"/>
|
||||
|
||||
<!-- ─── BICYCLE ─── -->
|
||||
<!-- Layout: ground y=478, wheel radius=70 -->
|
||||
<!-- Rear wheel center: (325,408) Front wheel center: (525,408) -->
|
||||
|
||||
<!-- Rear wheel -->
|
||||
<circle cx="325" cy="408" r="70" fill="none" stroke="#181818" stroke-width="7.5"/>
|
||||
<circle cx="325" cy="408" r="63" fill="none" stroke="#282828" stroke-width="2" stroke-dasharray="13,5"/>
|
||||
<!-- Rear spokes (8 bi-directional) -->
|
||||
<g stroke="#585858" stroke-width="1.6" opacity="0.88">
|
||||
<line x1="325" y1="338" x2="325" y2="478"/>
|
||||
<line x1="255" y1="408" x2="395" y2="408"/>
|
||||
<line x1="275" y1="358" x2="375" y2="458"/>
|
||||
<line x1="275" y1="458" x2="375" y2="358"/>
|
||||
<line x1="305" y1="339" x2="345" y2="477"/>
|
||||
<line x1="255" y1="382" x2="395" y2="434"/>
|
||||
<line x1="255" y1="434" x2="395" y2="382"/>
|
||||
<line x1="305" y1="477" x2="345" y2="339"/>
|
||||
</g>
|
||||
<circle cx="325" cy="408" r="11" fill="#505050" stroke="#303030" stroke-width="2.5"/>
|
||||
<circle cx="325" cy="408" r="4.5" fill="#808080"/>
|
||||
|
||||
<!-- Front wheel -->
|
||||
<circle cx="525" cy="408" r="70" fill="none" stroke="#181818" stroke-width="7.5"/>
|
||||
<circle cx="525" cy="408" r="63" fill="none" stroke="#282828" stroke-width="2" stroke-dasharray="13,5"/>
|
||||
<g stroke="#585858" stroke-width="1.6" opacity="0.88">
|
||||
<line x1="525" y1="338" x2="525" y2="478"/>
|
||||
<line x1="455" y1="408" x2="595" y2="408"/>
|
||||
<line x1="475" y1="358" x2="575" y2="458"/>
|
||||
<line x1="475" y1="458" x2="575" y2="358"/>
|
||||
<line x1="505" y1="339" x2="545" y2="477"/>
|
||||
<line x1="455" y1="382" x2="595" y2="434"/>
|
||||
<line x1="455" y1="434" x2="595" y2="382"/>
|
||||
<line x1="505" y1="477" x2="545" y2="339"/>
|
||||
</g>
|
||||
<circle cx="525" cy="408" r="11" fill="#505050" stroke="#303030" stroke-width="2.5"/>
|
||||
<circle cx="525" cy="408" r="4.5" fill="#808080"/>
|
||||
|
||||
<!-- Frame — red, drawn back-to-front -->
|
||||
<!-- Chain stays -->
|
||||
<line x1="422" y1="410" x2="325" y2="408" stroke="#d01c1c" stroke-width="9" stroke-linecap="round"/>
|
||||
<!-- Seat stays -->
|
||||
<line x1="410" y1="305" x2="325" y2="408" stroke="#d01c1c" stroke-width="7" stroke-linecap="round"/>
|
||||
<!-- Fork -->
|
||||
<line x1="526" y1="322" x2="525" y2="408" stroke="#d01c1c" stroke-width="7" stroke-linecap="round"/>
|
||||
<!-- Seat tube -->
|
||||
<line x1="422" y1="410" x2="410" y2="305" stroke="#d01c1c" stroke-width="9" stroke-linecap="round"/>
|
||||
<!-- Down tube -->
|
||||
<line x1="422" y1="410" x2="524" y2="308" stroke="#d01c1c" stroke-width="9" stroke-linecap="round"/>
|
||||
<!-- Top tube -->
|
||||
<line x1="410" y1="305" x2="524" y2="302" stroke="#d01c1c" stroke-width="7" stroke-linecap="round"/>
|
||||
<!-- Head tube (short, vertical) -->
|
||||
<line x1="524" y1="296" x2="528" y2="326" stroke="#d01c1c" stroke-width="12" stroke-linecap="round"/>
|
||||
<!-- Seat post -->
|
||||
<line x1="412" y1="305" x2="408" y2="279" stroke="#c03030" stroke-width="7" stroke-linecap="round"/>
|
||||
|
||||
<!-- Saddle -->
|
||||
<path d="M382 274 Q408 264 440 274 Q442 281 408 287 Q377 283 382 274 Z"
|
||||
fill="#1e1e1e" stroke="#0a0a0a" stroke-width="1.5"/>
|
||||
|
||||
<!-- Handlebars (drop-bar style) -->
|
||||
<line x1="524" y1="298" x2="522" y2="272" stroke="#888" stroke-width="7" stroke-linecap="round"/>
|
||||
<path d="M499 270 Q522 259 546 271" stroke="#999" stroke-width="8" fill="none" stroke-linecap="round"/>
|
||||
<path d="M499 270 Q491 279 490 296" stroke="#888" stroke-width="6" fill="none" stroke-linecap="round"/>
|
||||
<path d="M546 271 Q553 280 554 296" stroke="#888" stroke-width="6" fill="none" stroke-linecap="round"/>
|
||||
<!-- Bar tape / grips -->
|
||||
<rect x="484" y="291" width="13" height="22" rx="3.5" fill="#2a2a2a" stroke="#111" stroke-width="1"/>
|
||||
<rect x="548" y="292" width="13" height="22" rx="3.5" fill="#2a2a2a" stroke="#111" stroke-width="1"/>
|
||||
|
||||
<!-- Brake cable (subtle, from lever along down tube) -->
|
||||
<path d="M491 296 Q478 335 462 370 Q450 395 432 408" stroke="#3a3a3a" stroke-width="1.4" fill="none" opacity="0.6"/>
|
||||
|
||||
<!-- Crankset / chainring -->
|
||||
<circle cx="422" cy="410" r="26" fill="none" stroke="#808080" stroke-width="3.5"/>
|
||||
<circle cx="422" cy="410" r="26" fill="none" stroke="#606060" stroke-width="1.5" stroke-dasharray="4,3" opacity="0.7"/>
|
||||
<circle cx="422" cy="410" r="9" fill="#707070" stroke="#505050" stroke-width="2"/>
|
||||
|
||||
<!-- Chain (top and bottom run) -->
|
||||
<path d="M424 384 Q442 374 462 368 Q490 360 510 362 Q524 364 527 408"
|
||||
stroke="#606060" stroke-width="2.4" fill="none" opacity="0.6"/>
|
||||
<path d="M424 436 Q440 442 460 445 Q490 448 510 445 Q524 442 527 408"
|
||||
stroke="#606060" stroke-width="2.4" fill="none" opacity="0.6"/>
|
||||
|
||||
<!-- Cranks -->
|
||||
<!-- Right crank (~4 o'clock, foot forward/down) -->
|
||||
<line x1="422" y1="410" x2="452" y2="434" stroke="#4a4a4a" stroke-width="6" stroke-linecap="round"/>
|
||||
<!-- Left crank (~10 o'clock, foot back/up) -->
|
||||
<line x1="422" y1="410" x2="393" y2="386" stroke="#4a4a4a" stroke-width="6" stroke-linecap="round"/>
|
||||
|
||||
<!-- Pedals -->
|
||||
<rect x="438" y="428" width="30" height="10" rx="2.5" fill="#2e2e2e" stroke="#181818" stroke-width="1.5" transform="rotate(12,453,433)"/>
|
||||
<rect x="374" y="378" width="30" height="10" rx="2.5" fill="#2e2e2e" stroke="#181818" stroke-width="1.5" transform="rotate(12,389,383)"/>
|
||||
|
||||
<!-- ─── PELICAN ─── -->
|
||||
<!-- Sitting on bicycle, wings spread for balance, facing right -->
|
||||
<!-- Body center: (395, 222) -->
|
||||
|
||||
<!-- LEFT WING (back wing, spread behind body) -->
|
||||
<path d="M370 205 Q318 172 258 156 Q228 148 215 162 Q206 178 224 192 Q250 204 292 210 Q332 216 368 228 Z"
|
||||
fill="#d2d2d2" stroke="#b0b0b0" stroke-width="1"/>
|
||||
<!-- Left wingtip primaries (black) -->
|
||||
<path d="M258 156 Q228 148 215 162 Q212 178 224 192 Q238 178 252 168 Q260 156 268 153 Z"
|
||||
fill="#121212"/>
|
||||
<path d="M260 159 Q245 153 234 163 Q232 176 240 186" stroke="#2a2a2a" stroke-width="1" fill="none" opacity="0.6"/>
|
||||
<!-- Left wing secondary feather lines -->
|
||||
<g stroke="#b0b0b0" stroke-width="1.2" fill="none" opacity="0.65">
|
||||
<path d="M362 224 Q326 210 292 202"/>
|
||||
<path d="M356 230 Q320 216 286 208"/>
|
||||
<path d="M350 236 Q315 223 280 215"/>
|
||||
</g>
|
||||
|
||||
<!-- BODY (main) -->
|
||||
<ellipse cx="395" cy="222" rx="84" ry="64" fill="url(#g-pbody)" stroke="#c0c0c0" stroke-width="1.5" filter="url(#f-drop)"/>
|
||||
|
||||
<!-- Body feather lines -->
|
||||
<g stroke="#c8c8c8" stroke-width="1.3" fill="none" opacity="0.6">
|
||||
<path d="M328 228 Q358 215 390 220"/>
|
||||
<path d="M325 242 Q355 229 388 234"/>
|
||||
<path d="M328 256 Q358 244 390 248"/>
|
||||
<path d="M335 269 Q362 258 390 261"/>
|
||||
<path d="M372 278 Q392 286 414 275"/>
|
||||
<path d="M368 266 Q388 274 410 263"/>
|
||||
</g>
|
||||
|
||||
<!-- RIGHT WING (front wing, spread forward and up) -->
|
||||
<path d="M415 194 Q458 158 510 130 Q546 110 562 122 Q570 138 552 158 Q528 172 494 186 Q458 200 424 220 Z"
|
||||
fill="#e5e5e5" stroke="#c0c0c0" stroke-width="1"/>
|
||||
<!-- Right wingtip primaries (black) -->
|
||||
<path d="M510 130 Q546 110 562 122 Q568 140 554 158 Q538 145 525 132 Q513 120 508 126 Z"
|
||||
fill="#0e0e0e"/>
|
||||
<!-- Right wing secondary feather lines -->
|
||||
<g stroke="#c2c2c2" stroke-width="1.2" fill="none" opacity="0.65">
|
||||
<path d="M424 220 Q458 202 490 184"/>
|
||||
<path d="M430 212 Q462 194 494 176"/>
|
||||
<path d="M434 204 Q466 187 498 169"/>
|
||||
<path d="M438 196 Q470 179 502 161"/>
|
||||
</g>
|
||||
<!-- Wing covert band -->
|
||||
<path d="M415 194 Q450 177 482 162 Q508 150 522 148" stroke="#c8c8c8" stroke-width="2" fill="none" opacity="0.55"/>
|
||||
|
||||
<!-- NECK (S-curve, characteristic pelican posture) -->
|
||||
<path d="M424 168 Q438 150 450 134 Q460 118 458 106"
|
||||
stroke="#d8d8d8" stroke-width="28" fill="none" stroke-linecap="round"/>
|
||||
<path d="M424 168 Q438 150 450 134 Q460 118 458 106"
|
||||
stroke="#eeeeee" stroke-width="20" fill="none" stroke-linecap="round"/>
|
||||
<path d="M427 165 Q440 147 451 131 Q461 116 459 107"
|
||||
stroke="white" stroke-width="10" fill="none" stroke-linecap="round" opacity="0.55"/>
|
||||
|
||||
<!-- HEAD -->
|
||||
<ellipse cx="456" cy="96" rx="34" ry="27" fill="url(#g-phead)" stroke="#d0d0d0" stroke-width="1.5"/>
|
||||
|
||||
<!-- Breeding crest (slight tuft) -->
|
||||
<path d="M445 74 Q449 58 456 50 Q463 58 462 72" stroke="#ccc090" stroke-width="2.8" fill="none" stroke-linecap="round" opacity="0.65"/>
|
||||
|
||||
<!-- Eye (yellow orbital ring, dark iris, dark pupil) -->
|
||||
<ellipse cx="468" cy="88" rx="12" ry="9" fill="#dba800" opacity="0.75"/>
|
||||
<circle cx="468" cy="88" r="9" fill="#c89000"/>
|
||||
<circle cx="468" cy="88" r="6.5" fill="#221400"/>
|
||||
<circle cx="470" cy="86" r="2" fill="white" opacity="0.90"/>
|
||||
<circle cx="467" cy="90" r="1" fill="white" opacity="0.38"/>
|
||||
|
||||
<!-- UPPER BILL — long, tapering, orange-yellow -->
|
||||
<path d="M478 90 Q528 81 582 77 Q622 73 650 77 Q666 80 670 87 Q666 95 650 98 Q622 100 582 97 Q528 97 478 102 Z"
|
||||
fill="#e8a218" stroke="#c87c10" stroke-width="1.2"/>
|
||||
<!-- Bill center ridge -->
|
||||
<path d="M480 88 Q532 79 585 75 Q622 72 654 79" stroke="#d09020" stroke-width="2" fill="none" opacity="0.65"/>
|
||||
<!-- Bill lateral groove -->
|
||||
<path d="M480 93 Q532 86 585 83 Q622 80 654 86" stroke="#c07818" stroke-width="0.9" fill="none" opacity="0.45"/>
|
||||
<!-- Nail (hooked tip) -->
|
||||
<path d="M668 87 Q682 87 686 94 Q682 102 670 98 Q666 95 668 87 Z"
|
||||
fill="#be6e0e" stroke="#9e5208" stroke-width="1"/>
|
||||
|
||||
<!-- THROAT POUCH — the pelican's most distinctive feature -->
|
||||
<path d="M480 102 Q504 116 535 130 Q566 144 600 150 Q628 155 648 148 Q662 141 665 130 Q663 114 650 98 Q622 100 582 97 Q528 97 480 102 Z"
|
||||
fill="#e86418" stroke="#c84010" stroke-width="1.2"/>
|
||||
<!-- Pouch fold lines (skin texture) -->
|
||||
<g stroke="#c25015" stroke-width="1.1" fill="none" opacity="0.48">
|
||||
<path d="M503 118 Q536 132 570 141 Q603 149 630 144"/>
|
||||
<path d="M506 124 Q540 138 574 146 Q603 152 626 147"/>
|
||||
<path d="M510 131 Q543 143 576 149"/>
|
||||
</g>
|
||||
<!-- Pouch warm highlight (translucent skin glow) -->
|
||||
<path d="M490 110 Q522 124 556 135 Q588 145 618 149" stroke="#f08028" stroke-width="3.5" fill="none" opacity="0.35"/>
|
||||
|
||||
<!-- LEGS / FEET (orange-yellow, webbed) -->
|
||||
<!-- Right leg — extended down to lower/forward pedal at ~(454,437) -->
|
||||
<path d="M432 280 Q436 320 448 358 Q456 388 460 418 Q462 430 455 437"
|
||||
stroke="#d08a0c" stroke-width="7" fill="none" stroke-linecap="round"/>
|
||||
<!-- Right webbed foot on right pedal -->
|
||||
<g transform="translate(454,440) rotate(-8)">
|
||||
<path d="M0 0 Q-14 9 -22 20" stroke="#d08a0c" stroke-width="4.5" fill="none" stroke-linecap="round"/>
|
||||
<path d="M0 0 Q-5 12 -6 24" stroke="#d08a0c" stroke-width="4.5" fill="none" stroke-linecap="round"/>
|
||||
<path d="M0 0 Q7 11 12 24" stroke="#d08a0c" stroke-width="4.5" fill="none" stroke-linecap="round"/>
|
||||
<path d="M0 0 Q16 7 22 16" stroke="#d08a0c" stroke-width="4" fill="none" stroke-linecap="round"/>
|
||||
<path d="M-22 20 Q-13 17 -6 24 Q3 19 12 24 Q17 18 22 16" fill="#e8a018" stroke="#d08a0c" stroke-width="0.9" opacity="0.82"/>
|
||||
</g>
|
||||
|
||||
<!-- Left leg — bent up to higher/rearward pedal at ~(393,384) -->
|
||||
<path d="M410 278 Q405 310 403 340 Q401 362 396 384"
|
||||
stroke="#d08a0c" stroke-width="7" fill="none" stroke-linecap="round"/>
|
||||
<!-- Left webbed foot on left pedal -->
|
||||
<g transform="translate(395,387) rotate(10)">
|
||||
<path d="M0 0 Q-14 9 -22 20" stroke="#d08a0c" stroke-width="4.5" fill="none" stroke-linecap="round"/>
|
||||
<path d="M0 0 Q-5 12 -6 24" stroke="#d08a0c" stroke-width="4.5" fill="none" stroke-linecap="round"/>
|
||||
<path d="M0 0 Q7 11 12 24" stroke="#d08a0c" stroke-width="4.5" fill="none" stroke-linecap="round"/>
|
||||
<path d="M0 0 Q16 7 22 16" stroke="#d08a0c" stroke-width="4" fill="none" stroke-linecap="round"/>
|
||||
<path d="M-22 20 Q-13 17 -6 24 Q3 19 12 24 Q17 18 22 16" fill="#e8a018" stroke="#d08a0c" stroke-width="0.9" opacity="0.82"/>
|
||||
</g>
|
||||
|
||||
<!-- ─── SEAFOAM AT WATERLINE ─── -->
|
||||
<path d="M0 436 Q55 430 110 436 Q165 442 220 436 Q275 430 330 436 Q385 442 440 436 Q495 430 550 436 Q605 442 660 436 Q715 430 770 436 Q825 442 880 436 Q892 434 900 436"
|
||||
stroke="white" stroke-width="2.5" fill="none" opacity="0.52"/>
|
||||
|
||||
<!-- ─── SPARKLES ON WATER SURFACE ─── -->
|
||||
<g fill="white" opacity="0.48">
|
||||
<polygon points="80,352 82,357 87,352 82,347" transform="rotate(15,82,352)"/>
|
||||
<polygon points="280,342 282,347 287,342 282,337" transform="rotate(-10,282,342)"/>
|
||||
<polygon points="668,338 670,343 675,338 670,333" transform="rotate(20,670,338)"/>
|
||||
<polygon points="820,350 822,355 827,350 822,345" transform="rotate(-5,822,350)"/>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,561 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 580" width="900" height="580">
|
||||
<defs>
|
||||
<!-- Sky gradient: deep cerulean to hazy horizon -->
|
||||
<linearGradient id="skyG" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#0b3d8c"/>
|
||||
<stop offset="38%" stop-color="#1a7ecb"/>
|
||||
<stop offset="70%" stop-color="#54b4e8"/>
|
||||
<stop offset="100%" stop-color="#a8ddf5"/>
|
||||
</linearGradient>
|
||||
<!-- Sun radial -->
|
||||
<radialGradient id="sunG" cx="50%" cy="50%" r="50%">
|
||||
<stop offset="0%" stop-color="#fffde7"/>
|
||||
<stop offset="28%" stop-color="#ffee58"/>
|
||||
<stop offset="58%" stop-color="#ffc107" stop-opacity="0.55"/>
|
||||
<stop offset="100%" stop-color="#ff8f00" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<!-- Ocean gradient -->
|
||||
<linearGradient id="oceanG" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#0e5ea0"/>
|
||||
<stop offset="55%" stop-color="#1e90d4"/>
|
||||
<stop offset="100%" stop-color="#5cbde8"/>
|
||||
</linearGradient>
|
||||
<!-- Beach sand -->
|
||||
<linearGradient id="sandG" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#e9cc88"/>
|
||||
<stop offset="55%" stop-color="#d4b060"/>
|
||||
<stop offset="100%" stop-color="#bfa050"/>
|
||||
</linearGradient>
|
||||
<!-- Pelican body: warm dark-brown with iridescent olive sheen -->
|
||||
<linearGradient id="pbodyG" x1="0.2" y1="0" x2="0.85" y2="1">
|
||||
<stop offset="0%" stop-color="#6c5030"/>
|
||||
<stop offset="45%" stop-color="#4e3820"/>
|
||||
<stop offset="100%" stop-color="#2e2010"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="pbodySheen" cx="35%" cy="30%" r="55%">
|
||||
<stop offset="0%" stop-color="#9a8850" stop-opacity="0.55"/>
|
||||
<stop offset="100%" stop-color="#2e2010" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<!-- Wing gradient: near-black at primaries, soft brown toward body -->
|
||||
<linearGradient id="wingG" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#3a2a18"/>
|
||||
<stop offset="100%" stop-color="#1a1008"/>
|
||||
</linearGradient>
|
||||
<!-- Pouch: warm amber-orange -->
|
||||
<linearGradient id="pouchG" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#e8980e"/>
|
||||
<stop offset="100%" stop-color="#c07006"/>
|
||||
</linearGradient>
|
||||
<!-- Bike frame: vivid red-orange -->
|
||||
<linearGradient id="frameG" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#e8381c"/>
|
||||
<stop offset="100%" stop-color="#bf2010"/>
|
||||
</linearGradient>
|
||||
<!-- Tyre rubber -->
|
||||
<linearGradient id="tyreG" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#2a2a2a"/>
|
||||
<stop offset="100%" stop-color="#101010"/>
|
||||
</linearGradient>
|
||||
|
||||
<!-- Soft drop shadow -->
|
||||
<filter id="ds" x="-15%" y="-15%" width="130%" height="130%">
|
||||
<feDropShadow dx="3" dy="5" stdDeviation="5" flood-color="#00000038"/>
|
||||
</filter>
|
||||
<!-- Very soft glow for eye catchlight -->
|
||||
<filter id="glint">
|
||||
<feGaussianBlur in="SourceGraphic" stdDeviation="0.8" result="b"/>
|
||||
<feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge>
|
||||
</filter>
|
||||
<!-- Feather texture: subtle ripple displacement -->
|
||||
<filter id="ftex" x="0%" y="0%" width="100%" height="100%">
|
||||
<feTurbulence type="fractalNoise" baseFrequency="0.08 0.12" numOctaves="3" result="n"/>
|
||||
<feDisplacementMap in="SourceGraphic" in2="n" scale="2.2" xChannelSelector="R" yChannelSelector="G"/>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<!-- ══════════════ SKY ══════════════ -->
|
||||
<rect width="900" height="580" fill="url(#skyG)"/>
|
||||
|
||||
<!-- Sun halo + disk -->
|
||||
<circle cx="790" cy="82" r="90" fill="url(#sunG)" opacity="0.7"/>
|
||||
<circle cx="790" cy="82" r="44" fill="#fff59d" opacity="0.85"/>
|
||||
<circle cx="790" cy="82" r="33" fill="#fff176"/>
|
||||
|
||||
<!-- Atmospheric horizon haze -->
|
||||
<rect x="0" y="305" width="900" height="28" fill="white" opacity="0.06"/>
|
||||
|
||||
<!-- Clouds -->
|
||||
<g fill="white">
|
||||
<!-- Cloud left -->
|
||||
<ellipse cx="148" cy="89" rx="74" ry="28" opacity="0.92"/>
|
||||
<ellipse cx="110" cy="100" rx="46" ry="23" opacity="0.92"/>
|
||||
<ellipse cx="190" cy="98" rx="54" ry="22" opacity="0.92"/>
|
||||
<ellipse cx="150" cy="76" rx="58" ry="26" opacity="0.92"/>
|
||||
<!-- Cloud centre -->
|
||||
<ellipse cx="474" cy="64" rx="63" ry="24" opacity="0.84"/>
|
||||
<ellipse cx="436" cy="74" rx="43" ry="20" opacity="0.84"/>
|
||||
<ellipse cx="514" cy="72" rx="46" ry="19" opacity="0.84"/>
|
||||
<ellipse cx="475" cy="50" rx="48" ry="22" opacity="0.84"/>
|
||||
<!-- Cloud fragment right -->
|
||||
<ellipse cx="876" cy="118" rx="55" ry="21" opacity="0.70"/>
|
||||
<ellipse cx="843" cy="128" rx="38" ry="18" opacity="0.70"/>
|
||||
</g>
|
||||
|
||||
<!-- ══════════════ OCEAN ══════════════ -->
|
||||
<path d="M0,326 Q225,315 450,322 Q675,329 900,318 L900,498 Q675,506 450,499 Q225,492 0,500Z"
|
||||
fill="url(#oceanG)"/>
|
||||
|
||||
<!-- Deep water undertone (darker at left) -->
|
||||
<path d="M0,326 Q120,318 240,322 L240,498 Q120,494 0,500Z"
|
||||
fill="#0a4880" opacity="0.25"/>
|
||||
|
||||
<!-- Sun path reflection on water -->
|
||||
<ellipse cx="792" cy="390" rx="68" ry="15" fill="#fff9c4" opacity="0.22"/>
|
||||
<ellipse cx="792" cy="412" rx="42" ry="9" fill="#ffe082" opacity="0.15"/>
|
||||
|
||||
<!-- Wave layers (dark blue undertones) -->
|
||||
<path d="M0,362 Q75,352 150,362 Q225,372 300,362 Q375,352 450,362 Q525,372 600,362 Q675,352 750,362 Q825,372 900,362 L900,498 L0,498Z"
|
||||
fill="#167ab8" opacity="0.22"/>
|
||||
<path d="M0,384 Q60,373 120,384 Q180,395 240,384 Q300,373 360,384 Q420,395 480,384 Q540,373 600,384 Q660,395 720,384 Q780,373 860,380 L900,384 L900,498 L0,498Z"
|
||||
fill="#1a86c2" opacity="0.28"/>
|
||||
<path d="M0,406 Q50,396 100,406 Q150,416 200,406 Q250,396 300,406 Q350,416 400,406 Q450,396 500,406 Q550,416 600,406 Q650,396 700,404 Q760,412 830,404 L900,405 L900,498 L0,498Z"
|
||||
fill="#1e90ca" opacity="0.24"/>
|
||||
|
||||
<!-- Wave crests / whitecaps -->
|
||||
<g fill="none" stroke="white" stroke-linecap="round" opacity="0.32">
|
||||
<path d="M18,368 Q44,362 70,368" stroke-width="2.8"/>
|
||||
<path d="M182,355 Q212,349 242,355" stroke-width="2.5"/>
|
||||
<path d="M488,364 Q524,358 560,364" stroke-width="2.5"/>
|
||||
<path d="M718,353 Q750,347 782,353" stroke-width="2.5"/>
|
||||
<path d="M62,390 Q88,384 114,390" stroke-width="2"/>
|
||||
<path d="M328,400 Q354,394 380,400" stroke-width="2"/>
|
||||
<path d="M640,392 Q666,386 692,392" stroke-width="2"/>
|
||||
</g>
|
||||
|
||||
<!-- Ocean sparkle highlights (sun path) -->
|
||||
<g fill="white" opacity="0.35">
|
||||
<ellipse cx="168" cy="366" rx="11" ry="2.8" transform="rotate(-7 168 366)"/>
|
||||
<ellipse cx="306" cy="378" rx="8" ry="2.2" transform="rotate(5 306 378)"/>
|
||||
<ellipse cx="512" cy="360" rx="12" ry="2.5" transform="rotate(-9 512 360)"/>
|
||||
<ellipse cx="670" cy="374" rx="10" ry="2.5" transform="rotate(6 670 374)"/>
|
||||
<ellipse cx="818" cy="362" rx="8" ry="2.2" transform="rotate(-4 818 362)"/>
|
||||
<ellipse cx="740" cy="388" rx="7" ry="2" transform="rotate(7 740 388)"/>
|
||||
<ellipse cx="430" cy="398" rx="6" ry="1.8" transform="rotate(-3 430 398)"/>
|
||||
</g>
|
||||
|
||||
<!-- Foam line at shore -->
|
||||
<path d="M0,490 Q112,478 224,488 Q338,498 452,488 Q566,478 680,488 Q794,498 900,488"
|
||||
fill="none" stroke="white" stroke-width="3.2" stroke-linecap="round" opacity="0.50"/>
|
||||
<path d="M0,499 Q120,486 240,497 Q460,516 680,497 Q790,487 900,498"
|
||||
fill="none" stroke="white" stroke-width="1.6" stroke-linecap="round" opacity="0.28"/>
|
||||
|
||||
<!-- Distant sailboat L -->
|
||||
<g transform="translate(180,318)" opacity="0.65">
|
||||
<line x1="0" y1="6" x2="0" y2="-34" stroke="#4a3818" stroke-width="1.6"/>
|
||||
<polygon points="0,6 0,-31 -20,6" fill="white" opacity="0.90"/>
|
||||
<polygon points="0,6 0,-22 19,6" fill="#f0eed8" opacity="0.85"/>
|
||||
<rect x="-24" y="6" width="44" height="8" rx="3" fill="#6e3810"/>
|
||||
</g>
|
||||
<!-- Distant sailboat R -->
|
||||
<g transform="translate(820,312)" opacity="0.46">
|
||||
<line x1="0" y1="4" x2="0" y2="-22" stroke="#4a3818" stroke-width="1.2"/>
|
||||
<polygon points="0,4 0,-19 -13,4" fill="white" opacity="0.88"/>
|
||||
<rect x="-15" y="4" width="28" height="6" rx="2" fill="#6e3810"/>
|
||||
</g>
|
||||
|
||||
<!-- ══════════════ BEACH ══════════════ -->
|
||||
<path d="M0,487 Q160,468 320,478 Q480,488 640,473 Q780,459 900,470 L900,580 L0,580Z"
|
||||
fill="url(#sandG)"/>
|
||||
<!-- Wet sand near water (darker, reflective) -->
|
||||
<path d="M0,490 Q160,471 320,481 Q480,491 640,476 Q780,462 900,473 L900,516 Q780,504 640,518 Q480,532 320,519 Q160,506 0,523Z"
|
||||
fill="#c8ae68" opacity="0.42"/>
|
||||
<!-- Sand surface micro-ripples -->
|
||||
<g stroke="#b09848" stroke-width="0.7" fill="none" opacity="0.20">
|
||||
<path d="M28,535 Q148,529 268,535"/>
|
||||
<path d="M40,552 Q174,545 308,552"/>
|
||||
<path d="M310,526 Q442,520 574,526"/>
|
||||
<path d="M582,542 Q718,535 854,542"/>
|
||||
<path d="M622,558 Q752,551 882,558"/>
|
||||
</g>
|
||||
<!-- Tyre tracks in wet sand behind bike -->
|
||||
<g opacity="0.28" fill="none" stroke="#9a8848" stroke-width="4" stroke-dasharray="7,5">
|
||||
<path d="M180,494 Q250,487 306,489"/>
|
||||
<path d="M176,498 Q246,491 302,493"/>
|
||||
</g>
|
||||
|
||||
<!-- Beach umbrella (left bg) -->
|
||||
<g transform="translate(112,468)" opacity="0.80">
|
||||
<line x1="0" y1="6" x2="0" y2="-98" stroke="#8B4513" stroke-width="5.5"/>
|
||||
<path d="M-68,-98 Q0,-130 68,-98 Q46,-73 0,-81 Q-46,-73 -68,-98Z" fill="#cc1a14"/>
|
||||
<path d="M-68,-98 L-34,-81 L0,-81Z" fill="#ff3a30" opacity="0.30"/>
|
||||
<path d="M0,-81 L34,-81 L68,-98Z" fill="#ff3a30" opacity="0.30"/>
|
||||
<ellipse cx="0" cy="-98" rx="68" ry="5" fill="#a81208" opacity="0.40"/>
|
||||
</g>
|
||||
|
||||
<!-- ══════════════ BICYCLE (red road bike) ══════════════ -->
|
||||
<!-- Ground y≈490; wheel r=62; wheel centres y=428 -->
|
||||
<!-- Rear wheel: (328,428) Front wheel: (558,428) -->
|
||||
<!-- BB: (440,428) Seat tube top: (408,328) Head tube: (540,330) -->
|
||||
|
||||
<!-- Bike shadow on sand -->
|
||||
<ellipse cx="444" cy="495" rx="124" ry="9" fill="#6a4c14" opacity="0.18"/>
|
||||
|
||||
<g id="bike" filter="url(#ds)">
|
||||
|
||||
<!-- ── REAR WHEEL ── -->
|
||||
<circle cx="328" cy="428" r="62" fill="none" stroke="url(#tyreG)" stroke-width="11"/>
|
||||
<circle cx="328" cy="428" r="51" fill="none" stroke="#2a2a2a" stroke-width="2.5" opacity="0.45"/>
|
||||
<circle cx="328" cy="428" r="11" fill="#2a2a2a" stroke="#181818" stroke-width="2"/>
|
||||
<circle cx="328" cy="428" r="5.5" fill="#bfbfbf"/>
|
||||
<g stroke="#484848" stroke-width="1.7">
|
||||
<!-- 8 spokes -->
|
||||
<line x1="328" y1="366" x2="328" y2="490"/>
|
||||
<line x1="266" y1="428" x2="390" y2="428"/>
|
||||
<line x1="284.1" y1="384.1" x2="371.9" y2="471.9"/>
|
||||
<line x1="371.9" y1="384.1" x2="284.1" y2="471.9"/>
|
||||
<line x1="267.8" y1="406.6" x2="388.2" y2="449.4"/>
|
||||
<line x1="267.8" y1="449.4" x2="388.2" y2="406.6"/>
|
||||
<line x1="308.6" y1="367.0" x2="347.4" y2="489.0"/>
|
||||
<line x1="347.4" y1="367.0" x2="308.6" y2="489.0"/>
|
||||
</g>
|
||||
|
||||
<!-- ── FRONT WHEEL ── -->
|
||||
<circle cx="558" cy="428" r="62" fill="none" stroke="url(#tyreG)" stroke-width="11"/>
|
||||
<circle cx="558" cy="428" r="51" fill="none" stroke="#2a2a2a" stroke-width="2.5" opacity="0.45"/>
|
||||
<circle cx="558" cy="428" r="11" fill="#2a2a2a" stroke="#181818" stroke-width="2"/>
|
||||
<circle cx="558" cy="428" r="5.5" fill="#bfbfbf"/>
|
||||
<g stroke="#484848" stroke-width="1.7">
|
||||
<line x1="558" y1="366" x2="558" y2="490"/>
|
||||
<line x1="496" y1="428" x2="620" y2="428"/>
|
||||
<line x1="514.1" y1="384.1" x2="601.9" y2="471.9"/>
|
||||
<line x1="601.9" y1="384.1" x2="514.1" y2="471.9"/>
|
||||
<line x1="497.8" y1="406.6" x2="618.2" y2="449.4"/>
|
||||
<line x1="497.8" y1="449.4" x2="618.2" y2="406.6"/>
|
||||
<line x1="538.6" y1="367.0" x2="577.4" y2="489.0"/>
|
||||
<line x1="577.4" y1="367.0" x2="538.6" y2="489.0"/>
|
||||
</g>
|
||||
|
||||
<!-- ── FRAME TUBES ── -->
|
||||
<!-- Chain stay: rear axle → BB -->
|
||||
<line x1="328" y1="428" x2="440" y2="428" stroke="url(#frameG)" stroke-width="8" stroke-linecap="round"/>
|
||||
<!-- Seat stay: rear axle → seat junction -->
|
||||
<line x1="328" y1="428" x2="408" y2="328" stroke="url(#frameG)" stroke-width="6.5" stroke-linecap="round"/>
|
||||
<!-- Down tube: BB → head tube -->
|
||||
<line x1="440" y1="428" x2="540" y2="330" stroke="url(#frameG)" stroke-width="9" stroke-linecap="round"/>
|
||||
<!-- Top tube: seat junction → head tube -->
|
||||
<line x1="408" y1="328" x2="540" y2="330" stroke="url(#frameG)" stroke-width="7" stroke-linecap="round"/>
|
||||
<!-- Fork: head tube → front axle -->
|
||||
<path d="M540,330 Q548,378 558,428" fill="none" stroke="url(#frameG)" stroke-width="8" stroke-linecap="round"/>
|
||||
|
||||
<!-- Seat tube: seat junction → BB -->
|
||||
<line x1="408" y1="328" x2="440" y2="428" stroke="url(#frameG)" stroke-width="7.5" stroke-linecap="round"/>
|
||||
|
||||
<!-- ── BOTTOM BRACKET ── -->
|
||||
<circle cx="440" cy="428" r="20" fill="#1e1e1e" stroke="#111" stroke-width="2"/>
|
||||
<!-- Chainring -->
|
||||
<circle cx="440" cy="428" r="26" fill="none" stroke="#e0a010" stroke-width="3.5"/>
|
||||
<circle cx="440" cy="428" r="10" fill="#d09808"/>
|
||||
<!-- Chainring teeth hint -->
|
||||
<circle cx="440" cy="428" r="28" fill="none" stroke="#c09008" stroke-width="1.2" stroke-dasharray="4,4"/>
|
||||
|
||||
<!-- ── CRANKS (pelican pedaling: left crank down-fwd, right crank up-back) ── -->
|
||||
<!-- Left crank → forward-lower pedal at ~(464,453) -->
|
||||
<line x1="440" y1="428" x2="462" y2="451" stroke="#1e1e1e" stroke-width="8" stroke-linecap="round"/>
|
||||
<!-- Right crank → rear-upper pedal at ~(418,405) -->
|
||||
<line x1="440" y1="428" x2="418" y2="405" stroke="#1e1e1e" stroke-width="8" stroke-linecap="round"/>
|
||||
|
||||
<!-- Pedals -->
|
||||
<rect x="450" y="448" width="26" height="10" rx="3" fill="#111" transform="rotate(-15 463 453)"/>
|
||||
<rect x="406" y="401" width="26" height="10" rx="3" fill="#111" transform="rotate(-15 419 406)"/>
|
||||
|
||||
<!-- Chain (simplified arc) -->
|
||||
<path d="M440,402 Q390,390 328,412 Q328,444 440,454 Q440,440 440,428"
|
||||
fill="none" stroke="#2e2e2e" stroke-width="2.8" opacity="0.65"/>
|
||||
|
||||
<!-- ── SEAT POST + SADDLE ── -->
|
||||
<line x1="418" y1="328" x2="413" y2="290" stroke="#6a7f8c" stroke-width="8" stroke-linecap="round"/>
|
||||
<!-- Saddle base -->
|
||||
<path d="M382,281 Q412,268 442,281 Q446,287 436,293 L388,293 Q378,287 382,281Z"
|
||||
fill="#4a1000" stroke="#360c00" stroke-width="1.5"/>
|
||||
<!-- Saddle top surface -->
|
||||
<path d="M384,282 Q412,270 440,282"
|
||||
fill="none" stroke="#6a2808" stroke-width="2.2" opacity="0.65"/>
|
||||
<!-- Saddle highlight -->
|
||||
<path d="M388,280 Q412,272 436,280"
|
||||
fill="none" stroke="#7a3810" stroke-width="1" opacity="0.35"/>
|
||||
|
||||
<!-- ── HANDLEBAR STEM + DROP BARS ── -->
|
||||
<line x1="540" y1="330" x2="544" y2="282" stroke="#6a7f8c" stroke-width="8" stroke-linecap="round"/>
|
||||
<path d="M516,279 Q544,266 572,279"
|
||||
fill="none" stroke="#1a1a1a" stroke-width="10.5" stroke-linecap="round"/>
|
||||
<ellipse cx="515" cy="281" rx="9" ry="11" fill="#181818"/>
|
||||
<ellipse cx="573" cy="281" rx="9" ry="11" fill="#181818"/>
|
||||
<!-- Brake lever -->
|
||||
<path d="M517,277 Q512,283 510,295" fill="none" stroke="#303030" stroke-width="4.5" stroke-linecap="round"/>
|
||||
|
||||
</g><!-- end #bike -->
|
||||
|
||||
<!-- ══════════════ PELICAN (Brown Pelican – Pelecanus occidentalis) ══════════════ -->
|
||||
<!--
|
||||
Anatomy anchors (absolute):
|
||||
Body centre: (435, 268) rx=56 ry=43 → body bottom y≈311 (≈ saddle top y≈281–293)
|
||||
Neck top: leading from body front-top toward head
|
||||
Head centre: (470, 228) rx=29 ry=25
|
||||
Bill tip: (~574, 222)
|
||||
Right leg (fwd): body bottom (448,308) → knee (458,368) → foot (464,454) [on fwd pedal]
|
||||
Left leg (back): body bottom (420,308) → knee (424,360) → foot (419,408) [on rear pedal]
|
||||
-->
|
||||
|
||||
<g id="pelican" filter="url(#ds)">
|
||||
|
||||
<!-- ── TAIL FEATHERS ── -->
|
||||
<path d="M405,302 Q393,320 388,334 Q394,342 403,333 Q408,342 417,333 Q423,344 432,334 Q438,323 428,305Z"
|
||||
fill="#3e2e18" stroke="#2a1e10" stroke-width="1.2"/>
|
||||
<!-- Tail feather division lines -->
|
||||
<path d="M408,307 Q400,322 397,333" fill="none" stroke="#2a1a0c" stroke-width="0.9" opacity="0.55"/>
|
||||
<path d="M419,306 Q416,320 415,331" fill="none" stroke="#2a1a0c" stroke-width="0.9" opacity="0.55"/>
|
||||
|
||||
<!-- ── LEFT (FAR) WING ── -->
|
||||
<path d="M375,258 Q344,240 315,252 Q298,268 306,290 Q320,306 348,304 Q372,301 392,289Z"
|
||||
fill="url(#wingG)" filter="url(#ftex)"/>
|
||||
<!-- Far wing primary tips (darker, fanned slightly) -->
|
||||
<path d="M302,290 Q290,302 284,316 Q296,318 306,305Z" fill="#181008"/>
|
||||
<path d="M296,303 Q285,316 281,330 Q292,330 300,317Z" fill="#181008"/>
|
||||
<path d="M310,308 Q300,322 298,336 Q308,334 314,321Z" fill="#201408"/>
|
||||
<!-- Far wing feather striping -->
|
||||
<g stroke="#1e1208" stroke-width="0.9" fill="none" opacity="0.62">
|
||||
<path d="M374,262 Q349,246 322,254 Q308,265 312,280"/>
|
||||
<path d="M374,270 Q351,256 326,262 Q313,272 316,286"/>
|
||||
<path d="M374,278 Q353,267 330,271 Q318,280 320,293"/>
|
||||
<path d="M374,286 Q356,278 334,281 Q322,289 323,301"/>
|
||||
</g>
|
||||
|
||||
<!-- ── RIGHT (NEAR) WING ── -->
|
||||
<path d="M495,258 Q526,240 555,252 Q572,268 564,290 Q550,306 522,304 Q498,301 488,289Z"
|
||||
fill="url(#wingG)" filter="url(#ftex)"/>
|
||||
<!-- Near wing primary tips -->
|
||||
<path d="M568,290 Q580,302 586,316 Q574,318 564,305Z" fill="#181008"/>
|
||||
<path d="M574,303 Q585,316 589,330 Q578,330 570,317Z" fill="#181008"/>
|
||||
<path d="M560,308 Q570,322 572,336 Q562,334 556,321Z" fill="#201408"/>
|
||||
<!-- Near wing feather striping (more detail, facing camera) -->
|
||||
<g stroke="#1e1208" stroke-width="0.9" fill="none" opacity="0.70">
|
||||
<path d="M496,262 Q521,246 548,254 Q562,265 558,280"/>
|
||||
<path d="M496,270 Q519,256 544,262 Q557,272 554,286"/>
|
||||
<path d="M496,278 Q517,267 540,271 Q552,280 550,293"/>
|
||||
<path d="M496,286 Q514,278 536,281 Q548,289 547,301"/>
|
||||
</g>
|
||||
|
||||
<!-- Wing secondary/covert panel (silver-grey) -->
|
||||
<path d="M384,264 Q412,254 440,260 Q460,268 458,283 Q444,294 420,292 Q396,289 384,276Z"
|
||||
fill="#8a8878" opacity="0.32"/>
|
||||
<path d="M440,260 Q468,254 496,258 Q512,264 510,278 Q498,288 478,286 Q458,283 458,271Z"
|
||||
fill="#8a8878" opacity="0.28"/>
|
||||
|
||||
<!-- ── MAIN BODY ── -->
|
||||
<ellipse cx="435" cy="268" rx="56" ry="43" fill="url(#pbodyG)"/>
|
||||
<ellipse cx="435" cy="268" rx="56" ry="43" fill="url(#pbodySheen)"/>
|
||||
<!-- Belly / breast lighter area -->
|
||||
<ellipse cx="430" cy="286" rx="34" ry="24" fill="#6a5830" opacity="0.35"/>
|
||||
<!-- Body specular highlight (iridescent bronze) -->
|
||||
<ellipse cx="420" cy="250" rx="24" ry="14" fill="#b8a060" opacity="0.18"/>
|
||||
|
||||
<!-- ── NECK (white, S-curved forward like a riding pelican) ── -->
|
||||
<path d="M418,232 Q412,205 416,178 Q419,161 428,152 Q438,145 450,152 Q462,161 463,180 Q465,205 458,232 Q448,250 435,254 Q420,252 418,240Z"
|
||||
fill="#f4f0e2"/>
|
||||
<!-- Neck shadow side (gives roundness) -->
|
||||
<path d="M420,230 Q414,204 418,178 Q420,162 428,154"
|
||||
fill="none" stroke="#d8d2be" stroke-width="3.2" stroke-linecap="round" opacity="0.65"/>
|
||||
<!-- Neck highlight side -->
|
||||
<path d="M457,230 Q462,206 463,182 Q462,165 455,155"
|
||||
fill="none" stroke="white" stroke-width="2.4" stroke-linecap="round" opacity="0.32"/>
|
||||
<!-- Neck dark median stripe (breeding plumage hint) -->
|
||||
<path d="M434,250 Q437,225 440,198 Q442,176 440,158 Q436,152 432,157 Q430,174 432,196 Q434,222 436,248Z"
|
||||
fill="#7a6040" opacity="0.20"/>
|
||||
|
||||
<!-- ── HEAD ── -->
|
||||
<ellipse cx="458" cy="218" rx="30" ry="26" fill="#f2eed8"/>
|
||||
<!-- Yellow crown wash -->
|
||||
<ellipse cx="456" cy="207" rx="25" ry="19" fill="#e6d478"/>
|
||||
<!-- Crown cap sheen -->
|
||||
<ellipse cx="453" cy="200" rx="22" ry="15" fill="#dcc860" opacity="0.55"/>
|
||||
<!-- Head shading (cheek shadow) -->
|
||||
<ellipse cx="462" cy="228" rx="20" ry="10" fill="#d8d0b8" opacity="0.38"/>
|
||||
|
||||
<!-- Crown crest feathers (characteristic nuptial crest) -->
|
||||
<path d="M446,198 Q456,183 466,198"
|
||||
fill="none" stroke="#c4a218" stroke-width="2.8" stroke-linecap="round"/>
|
||||
<line x1="450" y1="190" x2="448" y2="181" stroke="#c4a218" stroke-width="1.8" stroke-linecap="round"/>
|
||||
<line x1="456" y1="185" x2="456" y2="174" stroke="#c4a218" stroke-width="2.2" stroke-linecap="round"/>
|
||||
<line x1="462" y1="190" x2="464" y2="181" stroke="#c4a218" stroke-width="1.8" stroke-linecap="round"/>
|
||||
<!-- Fine filament crest wisps -->
|
||||
<path d="M453,188 Q451,178 453,171" fill="none" stroke="#c8a820" stroke-width="1.0" stroke-linecap="round" opacity="0.65"/>
|
||||
<path d="M459,185 Q458,175 459,168" fill="none" stroke="#c8a820" stroke-width="1.0" stroke-linecap="round" opacity="0.65"/>
|
||||
|
||||
<!-- ── EYE (yellow-green orbital ring, large dark pupil) ── -->
|
||||
<!-- Bare orbital skin patch -->
|
||||
<ellipse cx="472" cy="217" rx="13" ry="12" fill="#3a7a10" opacity="0.70"/>
|
||||
<!-- Eyeball -->
|
||||
<circle cx="472" cy="217" r="9.5" fill="#080400"/>
|
||||
<circle cx="472" cy="217" r="7.5" fill="#040200"/>
|
||||
<!-- Iris ring (pale ice-blue) -->
|
||||
<circle cx="472" cy="217" r="9.8" fill="none" stroke="#b0d0e0" stroke-width="1.5" opacity="0.70"/>
|
||||
<!-- Main catchlight -->
|
||||
<circle cx="475" cy="213.5" r="2.8" fill="white" filter="url(#glint)" opacity="0.95"/>
|
||||
<!-- Secondary catchlight -->
|
||||
<circle cx="468" cy="220" r="1.2" fill="white" opacity="0.48"/>
|
||||
|
||||
<!-- ── UPPER MANDIBLE (long, yellow-orange) ── -->
|
||||
<path d="M479,216 Q510,210 550,212 Q570,213 582,218 Q577,228 562,230 Q540,232 509,230 Q488,228 479,222Z"
|
||||
fill="#d89012"/>
|
||||
<!-- Culmen ridge -->
|
||||
<path d="M481,215 Q512,209 552,211 Q570,213 580,218"
|
||||
fill="none" stroke="#a87008" stroke-width="2.2" opacity="0.85"/>
|
||||
<!-- Lateral groove line -->
|
||||
<path d="M482,220 Q511,215 548,217 Q562,219 573,224"
|
||||
fill="none" stroke="#c08010" stroke-width="1" opacity="0.55"/>
|
||||
<!-- Nostril slit -->
|
||||
<ellipse cx="508" cy="209" rx="7" ry="2" fill="#906008" opacity="0.58" transform="rotate(-5 508 209)"/>
|
||||
<!-- Bill highlight -->
|
||||
<path d="M486,214 Q516,210 551,212 Q566,213 577,217"
|
||||
fill="none" stroke="#f0c030" stroke-width="1.4" opacity="0.40"/>
|
||||
|
||||
<!-- ── BILL HOOK (tip) ── -->
|
||||
<path d="M580,218 Q594,215 596,222 Q595,230 586,232 Q578,231 578,226 Q579,221 580,218Z"
|
||||
fill="#9e6808" stroke="#7a5006" stroke-width="1"/>
|
||||
|
||||
<!-- ── LOWER MANDIBLE ── -->
|
||||
<path d="M479,222 Q508,230 562,230 Q568,234 567,244 Q560,260 540,268 Q515,275 490,272 Q466,267 461,252 Q457,238 462,228 Q468,220 479,222Z"
|
||||
fill="url(#pouchG)"/>
|
||||
|
||||
<!-- Throat pouch interior (distended, bulging) -->
|
||||
<path d="M482,230 Q508,237 558,234 Q563,239 562,248 Q554,260 534,266 Q512,272 491,268 Q471,263 464,249 Q460,238 465,230"
|
||||
fill="#f0a820" opacity="0.36"/>
|
||||
<!-- Pouch skin folds (characteristic texture) -->
|
||||
<path d="M484,238 Q508,244 554,241" fill="none" stroke="#9a6008" stroke-width="1.6" opacity="0.60"/>
|
||||
<path d="M481,252 Q504,260 538,256" fill="none" stroke="#9a6008" stroke-width="1.3" opacity="0.50"/>
|
||||
<path d="M466,263 Q488,270 514,267" fill="none" stroke="#9a6008" stroke-width="1.0" opacity="0.38"/>
|
||||
<!-- Pouch bulge highlight -->
|
||||
<ellipse cx="510" cy="252" rx="22" ry="16" fill="#e8a818" opacity="0.18"/>
|
||||
|
||||
<!-- ── LEGS (yellow-olive, scaly) ── -->
|
||||
<!-- RIGHT leg: body bottom (448,308) → knee (460,368) → foot on fwd pedal (464,454) -->
|
||||
<path d="M448,308 Q452,338 460,368 Q462,400 464,452"
|
||||
stroke="#c0a034" stroke-width="8" fill="none" stroke-linecap="round"/>
|
||||
<!-- Scale texture right leg -->
|
||||
<g stroke="#9a8020" stroke-width="0.8" fill="none" opacity="0.50">
|
||||
<path d="M450,316 Q455,321 453,327"/>
|
||||
<path d="M452,330 Q457,336 455,342"/>
|
||||
<path d="M454,344 Q460,350 458,357"/>
|
||||
<path d="M457,361 Q462,368 460,374"/>
|
||||
</g>
|
||||
<!-- Right knee -->
|
||||
<ellipse cx="460" cy="369" rx="7" ry="8.5" fill="#b09030"/>
|
||||
|
||||
<!-- LEFT leg: body bottom (422,308) → knee (424,362) → foot on rear pedal (419,408) -->
|
||||
<path d="M422,308 Q424,335 425,362 Q423,385 420,407"
|
||||
stroke="#c0a034" stroke-width="8" fill="none" stroke-linecap="round"/>
|
||||
<!-- Scale texture left leg -->
|
||||
<g stroke="#9a8020" stroke-width="0.8" fill="none" opacity="0.50">
|
||||
<path d="M423,316 Q428,321 426,327"/>
|
||||
<path d="M424,330 Q429,336 427,342"/>
|
||||
<path d="M425,346 Q430,352 428,358"/>
|
||||
</g>
|
||||
<!-- Left knee -->
|
||||
<ellipse cx="425" cy="362" rx="7" ry="8.5" fill="#b09030"/>
|
||||
|
||||
<!-- ── WEBBED FEET ── -->
|
||||
<!-- RIGHT foot on forward pedal (~464, 454) -->
|
||||
<g transform="translate(464,455)">
|
||||
<!-- Webbed foot silhouette: 3 forward toes + back toe, connected by web membrane -->
|
||||
<path d="M0,0 Q-24,-8 -30,2 Q-26,14 -14,15 Q-4,16 0,9Z" fill="#c0a030"/>
|
||||
<path d="M0,0 Q-9,-17 3,-22 Q12,-14 13,-6 Q8,2 0,0Z" fill="#c0a030"/>
|
||||
<path d="M0,0 Q14,-12 22,-10 Q26,-2 22,7 Q13,11 4,7Z" fill="#b09028"/>
|
||||
<path d="M0,0 Q20,2 23,11 Q20,18 12,18 Q4,13 0,9Z" fill="#a88020"/>
|
||||
<!-- Web membrane fills -->
|
||||
<path d="M-28,4 Q-18,-10 3,-20" fill="none" stroke="#9a7820" stroke-width="1.2" opacity="0.60"/>
|
||||
<path d="M3,-20 Q11,-14 21,-8" fill="none" stroke="#9a7820" stroke-width="1.2" opacity="0.60"/>
|
||||
<path d="M21,-8 Q22,4 22,12" fill="none" stroke="#9a7820" stroke-width="1.2" opacity="0.60"/>
|
||||
<!-- Toe tips / claws -->
|
||||
<circle cx="-30" cy="2" r="2.2" fill="#7a5810" opacity="0.70"/>
|
||||
<circle cx="3" cy="-22" r="2.2" fill="#7a5810" opacity="0.70"/>
|
||||
<circle cx="23" cy="-9" r="2.2" fill="#7a5810" opacity="0.70"/>
|
||||
<circle cx="23" cy="11" r="2.2" fill="#7a5810" opacity="0.70"/>
|
||||
</g>
|
||||
<!-- LEFT foot on rear pedal (~419, 408) -->
|
||||
<g transform="translate(419,409)">
|
||||
<path d="M0,0 Q-22,-7 -27,2 Q-24,13 -12,14 Q-3,15 0,8Z" fill="#c0a030"/>
|
||||
<path d="M0,0 Q-7,-16 3,-20 Q11,-13 11,-5 Q7,2 0,0Z" fill="#c0a030"/>
|
||||
<path d="M0,0 Q13,-11 20,-9 Q24,-2 20,6 Q12,10 4,6Z" fill="#b09028"/>
|
||||
<path d="M0,0 Q18,2 21,10 Q18,17 11,17 Q3,12 0,8Z" fill="#a88020"/>
|
||||
<path d="M-25,3 Q-16,-9 3,-18" fill="none" stroke="#9a7820" stroke-width="1.2" opacity="0.60"/>
|
||||
<path d="M3,-18 Q10,-12 19,-7" fill="none" stroke="#9a7820" stroke-width="1.2" opacity="0.60"/>
|
||||
<circle cx="-27" cy="2" r="2" fill="#7a5810" opacity="0.70"/>
|
||||
<circle cx="3" cy="-20" r="2" fill="#7a5810" opacity="0.70"/>
|
||||
<circle cx="20" cy="-8" r="2" fill="#7a5810" opacity="0.70"/>
|
||||
</g>
|
||||
|
||||
</g><!-- end #pelican -->
|
||||
|
||||
<!-- ══════════════ BEACH FOREGROUND DETAILS ══════════════ -->
|
||||
|
||||
<!-- Sea-oat / beach grass (left) -->
|
||||
<g opacity="0.88">
|
||||
<path d="M55,496 C50,473 44,452 36,428" stroke="#907845" stroke-width="2.6" fill="none" stroke-linecap="round"/>
|
||||
<path d="M55,496 C62,470 71,449 82,424" stroke="#907845" stroke-width="2.6" fill="none" stroke-linecap="round"/>
|
||||
<path d="M55,496 C56,468 55,447 53,422" stroke="#9a8048" stroke-width="2.1" fill="none" stroke-linecap="round"/>
|
||||
<ellipse cx="36" cy="425" rx="5.5" ry="14" fill="#a07a46" transform="rotate(-16 36 425)"/>
|
||||
<ellipse cx="82" cy="421" rx="5.5" ry="14" fill="#a07a46" transform="rotate(22 82 421)"/>
|
||||
<ellipse cx="53" cy="419" rx="4.2" ry="12" fill="#907040" transform="rotate(2 53 419)"/>
|
||||
</g>
|
||||
<!-- Sea-oat / beach grass (right) -->
|
||||
<g opacity="0.82" transform="translate(764,0)">
|
||||
<path d="M55,496 C50,473 44,452 36,428" stroke="#907845" stroke-width="2.6" fill="none" stroke-linecap="round"/>
|
||||
<path d="M55,496 C62,470 71,449 82,424" stroke="#907845" stroke-width="2.6" fill="none" stroke-linecap="round"/>
|
||||
<path d="M55,496 C56,468 55,447 53,422" stroke="#9a8048" stroke-width="2.1" fill="none" stroke-linecap="round"/>
|
||||
<ellipse cx="36" cy="425" rx="5.5" ry="14" fill="#a07a46" transform="rotate(-16 36 425)"/>
|
||||
<ellipse cx="82" cy="421" rx="5.5" ry="14" fill="#a07a46" transform="rotate(22 82 421)"/>
|
||||
<ellipse cx="53" cy="419" rx="4.2" ry="12" fill="#907040" transform="rotate(2 53 419)"/>
|
||||
</g>
|
||||
|
||||
<!-- Seashells scattered on beach -->
|
||||
<g opacity="0.70">
|
||||
<!-- Spiral shell -->
|
||||
<path d="M70,540 Q62,533 66,527 Q74,524 80,530 Q82,537 78,542 Q71,545 66,540 Q63,534 66,527"
|
||||
fill="none" stroke="#d4b880" stroke-width="2.2" stroke-linecap="round"/>
|
||||
<circle cx="73" cy="536" r="4.5" fill="#e4cc96" opacity="0.55"/>
|
||||
<!-- Clam -->
|
||||
<path d="M244,556 Q234,549 236,543 Q246,538 256,543 Q260,551 256,558 Q248,562 244,556Z"
|
||||
fill="#ecd8b4" stroke="#c8b888" stroke-width="1.2"/>
|
||||
<path d="M244,556 Q244,545 244,538" fill="none" stroke="#c8b888" stroke-width="0.8" opacity="0.55"/>
|
||||
<!-- Small pebble shells -->
|
||||
<ellipse cx="580" cy="546" rx="7" ry="4" fill="#e4d0a8" transform="rotate(-14 580 546)"/>
|
||||
<ellipse cx="702" cy="534" rx="9" ry="5.5" fill="#ead6b0" transform="rotate(10 702 534)"/>
|
||||
<ellipse cx="310" cy="562" rx="5.5" ry="3" fill="#dcc898" transform="rotate(20 310 562)"/>
|
||||
<circle cx="152" cy="558" r="4" fill="#e4cc96" opacity="0.55"/>
|
||||
<circle cx="768" cy="552" r="3.5" fill="#e4cc96" opacity="0.55"/>
|
||||
</g>
|
||||
|
||||
<!-- ══════════════ ATMOSPHERE / SKY BIRDS ══════════════ -->
|
||||
|
||||
<!-- Seagulls (distant, flying) -->
|
||||
<g fill="none" stroke="#48607a" stroke-width="2" stroke-linecap="round" opacity="0.58">
|
||||
<path d="M192,152 Q202,143 212,152"/>
|
||||
<path d="M221,140 Q232,130 243,140"/>
|
||||
<path d="M168,168 Q178,160 188,168"/>
|
||||
<path d="M614,120 Q625,111 636,120"/>
|
||||
<path d="M648,108 Q660,99 672,108"/>
|
||||
<path d="M600,136 Q609,128 618,136"/>
|
||||
<path d="M260,128 Q268,121 276,128"/>
|
||||
</g>
|
||||
|
||||
<!-- ══════════════ MOTION LINES (wind, speed) ══════════════ -->
|
||||
<g stroke="#c0ddf4" stroke-linecap="round" opacity="0.26">
|
||||
<line x1="250" y1="276" x2="288" y2="276" stroke-width="2.5"/>
|
||||
<line x1="244" y1="292" x2="276" y2="292" stroke-width="2"/>
|
||||
<line x1="248" y1="308" x2="283" y2="308" stroke-width="2.2"/>
|
||||
<line x1="252" y1="322" x2="278" y2="322" stroke-width="1.5"/>
|
||||
<line x1="246" y1="338" x2="274" y2="338" stroke-width="1.8"/>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 29 KiB |
Reference in new issue
Block a user