Back to Poly Dogfight
SOURCE / PINNED RELEASE

Made of little things.

Poly Dogfight

Release
ad11a55ec88c…
Author-recorded commit
483e0e0c5000…
License
LICENSE
Author’s source reference
nostr://npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr/wss%3A%2F%2Fgit.shakespeare.diy%2F/poly-dogfight

Archive hash verified: fbf8fc78f64d293a…. The source-to-build association is the author’s claim; it has not been independently rebuilt.

assets/icon.svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
  <!-- Poly Dogfight icon source; render with: inkscape assets/icon.svg -o assets/icon.png -->
  <defs>
    <linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0" stop-color="#4f8fe0"/>
      <stop offset="0.75" stop-color="#cfe8f5"/>
      <stop offset="1" stop-color="#ffe1b0"/>
    </linearGradient>
    <clipPath id="tile"><rect width="512" height="512" rx="112"/></clipPath>
  </defs>
  <g clip-path="url(#tile)">
    <rect width="512" height="512" fill="url(#sky)"/>
    <!-- low-poly clouds -->
    <polygon points="44,150 78,122 120,130 146,152 112,166 60,166" fill="#ffffff" opacity="0.9"/>
    <polygon points="360,96 392,74 432,80 458,100 424,112 376,112" fill="#ffffff" opacity="0.85"/>
    <!-- tiny planet -->
    <circle cx="256" cy="700" r="330" fill="#2b95c4"/>
    <polygon points="-40,420 40,392 120,384 186,398 230,386 300,380 380,388 450,400 552,430 552,560 -40,560" fill="#84c95a"/>
    <polygon points="186,398 230,386 300,380 268,410 214,414" fill="#5faf48"/>
    <polygon points="380,388 450,400 552,430 552,470 430,436" fill="#5faf48"/>
    <!-- rock arch -->
    <polygon points="300,382 312,316 352,296 392,312 404,390 384,390 374,336 350,324 326,340 320,384" fill="#9d8b7a"/>
    <polygon points="352,296 392,312 404,390 384,390 374,336 350,324" fill="#7b6c60"/>
    <!-- pines -->
    <polygon points="88,392 104,340 120,392" fill="#2f7a49"/>
    <polygon points="122,390 134,352 146,390" fill="#3f8f3e"/>
    <polygon points="430,402 444,360 458,406" fill="#2f7a49"/>
    <!-- tracer bursts -->
    <g stroke="#ffe38a" stroke-width="9" stroke-linecap="round">
      <line x1="418" y1="168" x2="456" y2="152"/>
      <line x1="432" y1="196" x2="476" y2="182"/>
    </g>
    <!-- biplane, banking up and to the right -->
    <g transform="translate(250 236) rotate(-16)">
      <!-- lower wing -->
      <polygon points="-74,30 82,30 92,46 -82,46" fill="#e2d1a6"/>
      <!-- tail -->
      <polygon points="-150,-6 -118,-50 -96,-50 -100,-4" fill="#d8382f"/>
      <polygon points="-150,0 -98,0 -98,16 -146,14" fill="#f5e7c4"/>
      <!-- fuselage -->
      <polygon points="-150,-8 -40,-26 90,-24 118,-8 118,28 90,38 -40,30 -150,10" fill="#d8382f"/>
      <polygon points="-150,10 -40,30 90,38 118,28 118,12 -40,12" fill="#b52c25"/>
      <!-- cockpit and stripe -->
      <polygon points="-8,-26 26,-50 52,-50 46,-25" fill="#2f3b52"/>
      <rect x="-70" y="-24" width="16" height="58" fill="#fbf8f1"/>
      <!-- struts -->
      <g fill="#2f3b52">
        <rect x="-36" y="-56" width="8" height="90"/>
        <rect x="62" y="-56" width="8" height="90"/>
      </g>
      <!-- upper wing -->
      <polygon points="-92,-70 100,-70 114,-52 -100,-52" fill="#f5e7c4"/>
      <polygon points="-100,-52 114,-52 108,-46 -96,-46" fill="#d9c79c"/>
      <!-- nose and propeller -->
      <polygon points="118,-12 136,-6 136,26 118,32" fill="#2f3b52"/>
      <polygon points="138,-62 150,-56 146,10 138,10" fill="#5b4632"/>
      <polygon points="138,10 146,10 150,78 138,84" fill="#5b4632"/>
      <circle cx="142" cy="10" r="9" fill="#ffe38a"/>
    </g>
  </g>
</svg>