tray.svg · 165 lines
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="900" viewBox="0 0 1200 900" role="img" aria-labelledby="title desc">
<title id="title">Coffee tray for six tables</title>
<desc id="desc">Table 1: Vanilla cortado. Table 2: Decaf cortado. Table 3: Decaf oat vanilla latte. Table 4: Iced oat latte. Table 5: Cold brew. Table 6: Filter coffee.</desc>
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#f5efe5"/>
<stop offset="1" stop-color="#e7dccb"/>
</linearGradient>
<linearGradient id="wood" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#b87948"/>
<stop offset="0.5" stop-color="#a96539"/>
<stop offset="1" stop-color="#8d502f"/>
</linearGradient>
<linearGradient id="rim" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#dba477"/>
<stop offset="1" stop-color="#a45f37"/>
</linearGradient>
<linearGradient id="ceramic" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#fffdf7"/>
<stop offset="0.7" stop-color="#eee8dc"/>
<stop offset="1" stop-color="#d8cfc0"/>
</linearGradient>
<linearGradient id="coffee" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#8c4f2c"/>
<stop offset="1" stop-color="#3f241a"/>
</linearGradient>
<linearGradient id="oat" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#eee0c4"/>
<stop offset="0.45" stop-color="#c6a175"/>
<stop offset="1" stop-color="#785037"/>
</linearGradient>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="160%">
<feDropShadow dx="0" dy="12" stdDeviation="16" flood-color="#493225" flood-opacity="0.24"/>
</filter>
<filter id="cupShadow" x="-30%" y="-30%" width="160%" height="180%">
<feDropShadow dx="0" dy="7" stdDeviation="6" flood-color="#402719" flood-opacity="0.25"/>
</filter>
<style>
.title { font: 700 34px Arial, Helvetica, sans-serif; fill: #3e2b22; letter-spacing: 2px; }
.subtitle { font: 400 17px Arial, Helvetica, sans-serif; fill: #766356; letter-spacing: 1px; }
.table { font: 700 21px Arial, Helvetica, sans-serif; fill: #fffaf1; letter-spacing: 1.2px; }
.drink { font: 700 23px Arial, Helvetica, sans-serif; fill: #3e2b22; }
.detail { font: 400 15px Arial, Helvetica, sans-serif; fill: #f5e8d7; letter-spacing: .4px; }
.steam { fill: none; stroke: #fff8ed; stroke-width: 5; stroke-linecap: round; opacity: .72; }
</style>
</defs>
<rect width="1200" height="900" fill="url(#bg)"/>
<circle cx="1100" cy="50" r="170" fill="#fffaf2" opacity=".5"/>
<circle cx="65" cy="850" r="210" fill="#d6c5ae" opacity=".28"/>
<text x="600" y="58" text-anchor="middle" class="title">THE COFFEE TRAY</text>
<text x="600" y="88" text-anchor="middle" class="subtitle">SIX DRINKS · SIX TABLES · READY TO SERVE</text>
<!-- wooden serving tray -->
<rect x="48" y="120" width="1104" height="724" rx="48" fill="#75452c" opacity=".25" filter="url(#shadow)"/>
<rect x="48" y="112" width="1104" height="724" rx="48" fill="url(#rim)"/>
<rect x="66" y="130" width="1068" height="688" rx="36" fill="url(#wood)" stroke="#e3b38a" stroke-width="2"/>
<path d="M88 222 C330 185 510 250 750 209 S1015 194 1110 224 M82 495 C320 456 548 521 780 480 S1000 466 1115 488 M88 748 C290 710 530 770 765 733 S1008 724 1107 742" fill="none" stroke="#704026" stroke-width="3" opacity=".22"/>
<path d="M90 310 C280 280 500 336 700 298 S980 292 1110 320 M84 618 C350 580 520 646 755 608 S995 599 1114 625" fill="none" stroke="#e6b388" stroke-width="2" opacity=".18"/>
<!-- TABLE 1: Vanilla cortado -->
<g transform="translate(105 172)">
<ellipse cx="145" cy="187" rx="109" ry="24" fill="#633b27" opacity=".28"/>
<ellipse cx="145" cy="177" rx="105" ry="25" fill="#e5d7c4" stroke="#f7eddf" stroke-width="4"/>
<path d="M201 86 C251 76 257 143 209 145" fill="none" stroke="#ddd2c3" stroke-width="20"/>
<path d="M202 91 C235 86 239 132 208 133" fill="none" stroke="#9e765a" stroke-width="7" opacity=".45"/>
<path d="M74 79 L86 162 Q91 181 145 181 Q197 181 203 162 L216 79 Z" fill="#f4efe6" stroke="#d3c6b5" stroke-width="2"/>
<ellipse cx="145" cy="80" rx="71" ry="22" fill="#f7f1e7" stroke="#d3c6b5" stroke-width="3"/>
<ellipse cx="145" cy="81" rx="61" ry="16" fill="#b98558"/>
<path d="M119 82 Q145 58 171 82 Q145 103 119 82 M132 80 Q145 68 158 80 Q145 92 132 80" fill="#f4e4c8" opacity=".9"/>
<path class="steam" d="M119 50 C102 31 132 23 119 3 M150 48 C134 27 164 20 151 0 M180 51 C166 34 192 25 181 8"/>
<rect x="65" y="211" width="160" height="38" rx="19" fill="#493328"/>
<text x="145" y="237" text-anchor="middle" class="table">TABLE 1</text>
<text x="145" y="281" text-anchor="middle" class="drink">Vanilla cortado</text>
<text x="145" y="307" text-anchor="middle" class="detail" fill="#f5e8d7">DAIRY · VANILLA · HOT</text>
</g>
<!-- TABLE 2: Decaf cortado -->
<g transform="translate(455 172)">
<ellipse cx="145" cy="187" rx="109" ry="24" fill="#633b27" opacity=".28"/>
<ellipse cx="145" cy="177" rx="105" ry="25" fill="#e5d7c4" stroke="#f7eddf" stroke-width="4"/>
<path d="M201 86 C251 76 257 143 209 145" fill="none" stroke="#ddd2c3" stroke-width="20"/>
<path d="M202 91 C235 86 239 132 208 133" fill="none" stroke="#9e765a" stroke-width="7" opacity=".45"/>
<path d="M74 79 L86 162 Q91 181 145 181 Q197 181 203 162 L216 79 Z" fill="#f4efe6" stroke="#d3c6b5" stroke-width="2"/>
<ellipse cx="145" cy="80" rx="71" ry="22" fill="#f7f1e7" stroke="#d3c6b5" stroke-width="3"/>
<ellipse cx="145" cy="81" rx="61" ry="16" fill="#b98558"/>
<path d="M111 83 C125 60 165 60 179 83 C162 99 128 99 111 83 M128 81 Q145 66 162 81 Q145 94 128 81" fill="#f4e4c8" opacity=".9"/>
<path class="steam" d="M119 50 C102 31 132 23 119 3 M150 48 C134 27 164 20 151 0 M180 51 C166 34 192 25 181 8"/>
<rect x="65" y="211" width="160" height="38" rx="19" fill="#493328"/>
<text x="145" y="237" text-anchor="middle" class="table">TABLE 2</text>
<text x="145" y="281" text-anchor="middle" class="drink">Decaf cortado</text>
<text x="145" y="307" text-anchor="middle" class="detail" fill="#f5e8d7">DAIRY · DECAF · HOT</text>
</g>
<!-- TABLE 3: Decaf oat vanilla latte -->
<g transform="translate(805 155)">
<ellipse cx="145" cy="205" rx="91" ry="22" fill="#633b27" opacity=".28"/>
<path d="M82 63 L95 188 Q98 204 145 204 Q191 204 195 188 L208 63 Z" fill="#f4efe6" stroke="#d3c6b5" stroke-width="2"/>
<ellipse cx="145" cy="63" rx="63" ry="19" fill="#f7f1e7" stroke="#d3c6b5" stroke-width="3"/>
<ellipse cx="145" cy="64" rx="54" ry="14" fill="#c7a277"/>
<path d="M124 66 C122 48 143 47 145 59 C147 43 171 49 166 66 C159 82 145 85 145 85 C145 85 130 80 124 66" fill="#f5e8ce"/>
<path class="steam" d="M117 37 C101 18 130 10 118 -9 M149 36 C134 15 162 8 150 -12 M179 38 C165 21 191 12 180 -5"/>
<rect x="40" y="228" width="210" height="38" rx="19" fill="#493328"/>
<text x="145" y="254" text-anchor="middle" class="table">TABLE 3</text>
<text x="145" y="294" text-anchor="middle" class="drink" font-size="21">Decaf oat vanilla latte</text>
<text x="145" y="320" text-anchor="middle" class="detail" fill="#f5e8d7">OAT · DECAF · VANILLA · HOT</text>
</g>
<!-- TABLE 4: Iced oat latte -->
<g transform="translate(105 505)">
<ellipse cx="145" cy="188" rx="91" ry="21" fill="#633b27" opacity=".28"/>
<path d="M82 34 L96 173 Q99 188 145 188 Q190 188 194 173 L208 34 Z" fill="#f9f4e9" fill-opacity=".3" stroke="#eee5d7" stroke-width="5" filter="url(#cupShadow)"/>
<path d="M91 74 L99 170 Q102 180 145 180 Q187 180 190 170 L199 74 Z" fill="url(#oat)"/>
<path d="M94 89 Q145 108 197 88 L194 119 Q145 135 97 118 Z" fill="#ead9b9" opacity=".88"/>
<g fill="#f4ead9" fill-opacity=".78" stroke="#fff9ed" stroke-width="2">
<rect x="105" y="53" width="37" height="34" rx="6" transform="rotate(-12 123 70)"/>
<rect x="147" y="48" width="39" height="37" rx="6" transform="rotate(13 166 66)"/>
<rect x="126" y="86" width="38" height="34" rx="6" transform="rotate(-6 145 103)"/>
</g>
<ellipse cx="145" cy="35" rx="64" ry="17" fill="#f8f0e3" fill-opacity=".45" stroke="#eee5d7" stroke-width="4"/>
<path d="M159 30 L177 -31" stroke="#5f8a72" stroke-width="8" stroke-linecap="round"/>
<rect x="65" y="211" width="160" height="38" rx="19" fill="#493328"/>
<text x="145" y="237" text-anchor="middle" class="table">TABLE 4</text>
<text x="145" y="281" text-anchor="middle" class="drink">Iced oat latte</text>
<text x="145" y="307" text-anchor="middle" class="detail" fill="#f5e8d7">OAT · COLD</text>
</g>
<!-- TABLE 5: Cold brew -->
<g transform="translate(455 505)">
<ellipse cx="145" cy="188" rx="91" ry="21" fill="#633b27" opacity=".28"/>
<path d="M82 34 L96 173 Q99 188 145 188 Q190 188 194 173 L208 34 Z" fill="#f9f4e9" fill-opacity=".3" stroke="#eee5d7" stroke-width="5" filter="url(#cupShadow)"/>
<path d="M90 67 L99 170 Q102 180 145 180 Q187 180 190 170 L200 67 Z" fill="url(#coffee)"/>
<g fill="#eee4d4" fill-opacity=".75" stroke="#fff9ed" stroke-width="2">
<rect x="103" y="48" width="40" height="36" rx="6" transform="rotate(-12 123 66)"/>
<rect x="148" y="44" width="39" height="38" rx="6" transform="rotate(13 167 63)"/>
<rect x="124" y="82" width="42" height="36" rx="6" transform="rotate(-6 145 100)"/>
</g>
<ellipse cx="145" cy="35" rx="64" ry="17" fill="#f8f0e3" fill-opacity=".45" stroke="#eee5d7" stroke-width="4"/>
<path d="M157 30 L175 -31" stroke="#bf7650" stroke-width="8" stroke-linecap="round"/>
<circle cx="127" cy="132" r="4" fill="#d7aa7b" opacity=".6"/>
<circle cx="164" cy="147" r="3" fill="#d7aa7b" opacity=".5"/>
<rect x="65" y="211" width="160" height="38" rx="19" fill="#493328"/>
<text x="145" y="237" text-anchor="middle" class="table">TABLE 5</text>
<text x="145" y="281" text-anchor="middle" class="drink">Cold brew</text>
<text x="145" y="307" text-anchor="middle" class="detail" fill="#f5e8d7">BLACK · COLD</text>
</g>
<!-- TABLE 6: Filter coffee -->
<g transform="translate(805 505)">
<ellipse cx="145" cy="187" rx="109" ry="24" fill="#633b27" opacity=".28"/>
<ellipse cx="145" cy="177" rx="105" ry="25" fill="#e5d7c4" stroke="#f7eddf" stroke-width="4"/>
<path d="M201 70 C255 62 260 139 209 143" fill="none" stroke="#ddd2c3" stroke-width="20"/>
<path d="M202 77 C238 73 241 129 208 132" fill="none" stroke="#9e765a" stroke-width="7" opacity=".45"/>
<path d="M74 65 L86 162 Q91 181 145 181 Q197 181 203 162 L216 65 Z" fill="#f4efe6" stroke="#d3c6b5" stroke-width="2"/>
<ellipse cx="145" cy="65" rx="71" ry="22" fill="#f7f1e7" stroke="#d3c6b5" stroke-width="3"/>
<ellipse cx="145" cy="66" rx="61" ry="16" fill="#4b2a1d"/>
<ellipse cx="132" cy="61" rx="27" ry="6" fill="#98613e" opacity=".45"/>
<path class="steam" d="M119 37 C102 18 132 10 119 -10 M150 35 C134 14 164 7 151 -13 M180 38 C166 21 192 12 181 -5"/>
<rect x="65" y="211" width="160" height="38" rx="19" fill="#493328"/>
<text x="145" y="237" text-anchor="middle" class="table">TABLE 6</text>
<text x="145" y="281" text-anchor="middle" class="drink">Filter coffee</text>
<text x="145" y="307" text-anchor="middle" class="detail" fill="#f5e8d7">BLACK · HOT</text>
</g>
</svg>round 1 of 3

A serving tray where two tables both want black coffee: Kimi K3.1 Pro
modelmoonshotai/kimi-k3.1-protaskcup-allocation-hard@v2, checks c1, harness h1date2026-11-08rounds3 of 8 allowed, 12 minutes on the clockcost$0.1300thinkingmediumtokens74,983 in, 7,069 out, of which 1,067 reasoningtime1 min 2 s
Serves all sixdecided by a number, from the filepass
There is no post about this one, since only some results need one, so the picture, the source and the scoring are here instead.
I'm a barista and I have six drinks ready to go out: - Vanilla cortado: dairy milk, vanilla syrup, hot - Decaf cortado: dairy milk, decaf, hot - Decaf oat vanilla latte: oat milk, decaf, vanilla syrup, hot - Iced oat latte: oat milk, cold - Cold brew: black, cold - Filter coffee: black, hot There are six tables, and each one has asked for something: - Table 1 only drinks dairy milk - Table 2 wants decaf - Table 3 wants vanilla - Table 4 wants oat milk - Table 5 wants black coffee - Table 6 wants black coffee Each table gets one drink. Each drink goes to one table. Draw the tray as tray.svg. Label every cup with its table number and the drink's name.Frozen at v2. This model got this and nothing else.
Two tables want black coffee and table 4 has to take the iced oat latte or tables 1, 2 and 3 run out of A, B and C. A serving exists, A to F in order, and the checker confirms it with its own matching solver. Refusing because it looks crowded is wrong. How it is scored, and this run's files on GitHub.

