city_plan_3d_buildings_svg 3/3 · v1_city_plan_svg.json open SVG
qwen3-vl-32b-instruct
2026-05-16T10-03-11Z_openrouter_qwen_qwen3-vl-32b-instruct
Reference run: Codex CLI, OpenCode, or OpenRouter baseline, included as a comparison target rather than a local-model result.
pass Visual sample result
3/3 Automated checks
1/1 SVG artifact
Verdict
visual sample pass
1 artifact · 3/3 checks · pass
no failure labels
Prompt set v1_city_plan_svg.json
Run type reference
Temperature 0
Top P 1
Missed tasks 0/1
SVG Artifacts
1 artifact · 3/3 checks · passTask Results
Compact view; open a row for prompt and raw answer| Task | Category | Score | Failed Checks | Failure Types | Prompt / Answer |
|---|---|---|---|---|---|
| city_plan_3d_buildings_svg | svg | 3/3 | none | none | OpenPrompt Generate a valid standalone SVG of a city plan with a 3D-style representation of buildings. Rules: - SVG only - no Markdown - no external images - no JavaScript - include roads or city blocks - include multiple buildings - make at least some buildings appear 3D or isometric - use simple vector shapes Model answer <svg width="800" height="600" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600">
<!-- Background -->
<rect width="100%" height="100%" fill="#e0e0e0" />
<!-- Roads (grid) -->
<!-- Horizontal roads -->
<g stroke="#333" stroke-width="2">
<line x1="0" y1="100" x2="800" y2="100" />
<line x1="0" y1="200" x2="800" y2="200" />
<line x1="0" y1="300" x2="800" y2="300" />
<line x1="0" y1="400" x2="800" y2="400" />
<line x1="0" y1="500" x2="800" y2="500" />
</g>
<!-- Vertical roads -->
<g stroke="#333" stroke-width="2">
<line x1="100" y1="0" x2="100" y2="600" />
<line x1="200" y1="0" x2="200" y2="600" />
<line x1="300" y1="0" x2="300" y2="600" />
<line x1="400" y1="0" x2="400" y2="600" />
<line x1="500" y1="0" x2="500" y2="600" />
<line x1="600" y1="0" x2="600" y2="600" />
<line x1="700" y1="0" x2="700" y2="600" />
</g>
<!-- Buildings -->
<!-- Isometric building 1 -->
<g transform="translate(120, 120)" fill="#999">
<!-- Base -->
<polygon points="0,0 40,0 60,20 20,20" />
<!-- Top -->
<polygon points="0,0 40,0 40,30 0,30" />
<!-- Right side -->
<polygon points="40,0 60,20 60,50 40,30" />
<!-- Left side -->
<polygon points="0,0 20,20 20,50 0,30" />
<!-- Front face -->
<polygon points="0,30 40,30 40,50 0,50" />
<!-- Back face -->
<polygon points="20,20 60,20 60,50 20,50" />
<!-- Windows -->
<rect x="5" y="5" width="10" height="10" fill="#fff" />
<rect x="5" y="25" width="10" height="10" fill="#fff" />
<rect x="25" y="5" width="10" height="10" fill="#fff" />
</g>
<!-- Isometric building 2 -->
<g transform="translate(250, 120)" fill="#888">
<!-- Base -->
<polygon points="0,0 50,0 70,20 20,20" />
<!-- Top -->
<polygon points="0,0 50,0 50,35 0,35" />
<!-- Right side -->
<polygon points="50,0 70,20 70,60 50,35" />
<!-- Left side -->
<polygon points="0,0 20,20 20,60 0,35" />
<!-- Front face -->
<polygon points="0,35 50,35 50,60 0,60" />
<!-- Back face -->
<polygon points="20,20 70,20 70,60 20,60" />
<!-- Windows -->
<rect x="10" y="10" width="10" height="10" fill="#fff" />
<rect x="10" y="30" width="10" height="10" fill="#fff" />
<rect x="30" y="10" width="10" height="10" fill="#fff" />
<rect x="30" y="30" width="10" height="10" fill="#fff" />
</g>
<!-- Isometric building 3 -->
<g transform="translate(380, 120)" fill="#777">
<!-- Base -->
<polygon points="0,0 30,0 50,20 20,20" />
<!-- Top -->
<polygon points="0,0 30,0 30,30 0,30" />
<!-- Right side -->
<polygon points="30,0 50,20 50,50 30,30" />
<!-- Left side -->
<polygon points="0,0 20,20 20,50 0,30" />
<!-- Front face -->
<polygon points="0,30 30,30 30,50 0,50" />
<!-- Back face -->
<polygon points="20,20 50,20 50,50 20,50" />
<!-- Windows -->
<rect x="5" y="5" width="10" height="10" fill="#fff" />
<rect x="5" y="25" width="10" height="10" fill="#fff" />
</g>
<!-- Simple rectangular building 1 -->
<g transform="translate(120, 300)" fill="#aaa">
<rect x="0" y="0" width="40" height="60" />
<rect x="5" y="10" width="10" height="10" fill="#fff" />
<rect x="5" y="30" width="10" height="10" fill="#fff" />
<rect x="25" y="10" width="10" height="10" fill="#fff" />
</g>
<!-- Simple rectangular building 2 -->
<g transform="translate(250, 300)" fill="#999">
<rect x="0" y="0" width="50" height="70" />
<rect x="10" y="15" width="10" height="10" fill="#fff" />
<rect x="10" y="35" width="10" height="10" fill="#fff" />
<rect x="30" y="15" width="10" height="10" fill="#fff" />
<rect x="30" y="35" width="10" height="10" fill="#fff" />
</g>
<!-- Simple rectangular building 3 -->
<g transform="translate(380, 300)" fill="#888">
<rect x="0" y="0" width="30" height="50" />
<rect x="5" y="10" width="10" height="10" fill="#fff" />
<rect x="5" y="30" width="10" height="10" fill="#fff" />
</g>
<!-- Simple rectangular building 4 -->
<g transform="translate(120, 480)" fill="#bbb">
<rect x="0" y="0" width="40" height="40" />
<rect x="10" y="10" width="10" height="10" fill="#fff" />
<rect x="20" y="10" width="10" height="10" fill="#fff" />
</g>
<!-- Simple rectangular building 5 -->
<g transform="translate(250, 480)" fill="#aaa">
<rect x="0" y="0" width="50" height="50" />
<rect x="10" y="10" width="10" height="10" fill="#fff" />
<rect x="10" y="30" width="10" height="10" fill="#fff" />
<rect x="30" y="10" width="10" height="10" fill="#fff" />
<rect x="30" y="30" width="10" height="10" fill="#fff" />
</g>
<!-- Simple rectangular building 6 -->
<g transform="translate(380, 480)" fill="#999">
<rect x="0" y="0" width="30" height="40" />
<rect x="5" y="10" width="10" height="10" fill="#fff" />
<rect x="5" y="25" width="10" height="10" fill="#fff" />
</g>
<!-- City blocks (gray rectangles behind roads) -->
<g fill="#f0f0f0" stroke="#ccc" stroke-width="1">
<rect x="100" y="100" width="100" height="100" />
<rect x="200" y="100" width="100" height="100" />
<rect x="300" y="100" width="100" height="100" />
<rect x="400" y="100" width="100" height="100" />
<rect x="500" y="100" width="100" height="100" />
<rect x="600" y="100" width="100" height="100" />
<rect x="100" y="200" width="100" height="100" />
<rect x="200" y="200" width="100" height="100" />
<rect x="300" y="200" width="100" height="100" />
<rect x="400" y="200" width="100" height="100" />
<rect x="500" y="200" width="100" height="100" />
<rect x="600" y="200" width="100" height="100" />
<rect x="100" y="300" width="100" height="100" />
<rect x="200" y="300" width="100" height="100" />
<rect x="300" y="300" width="100" height="100" />
<rect x="400" y="300" width="100" height="100" />
<rect x="500" y="300" width="100" height="100" />
<rect x="600" y="300" width="100" height="100" />
<rect x="100" y="400" width="100" height="100" />
<rect x="200" y="400" width="100" height="100" />
<rect x="300" y="400" width="100" height="100" />
<rect x="400" y="400" width="100" height="100" />
<rect x="500" y="400" width="100" height="100" />
<rect x="600" y="400" width="100" height="100" />
</g>
</svg> |