Test fixture
Single-file HTML visual/UI artifacts with render and preview workflows.
The model receives the prompt (and optional system message). The run uses scorer singlefile_html_visual_judged with the JSON configuration below. Pass/fail and partial credit are determined entirely by that scorer against the model output; no human grading.
Create a complete single-file HTML document for a responsive strategy game lobby UI. Return only the HTML document, without Markdown fences or explanations. The UI is for a 72-hour campaign strategy game. It must include a strong game-like header, campaign countdown timer, nation selection area, player list, ready status indicators, lobby chat panel, campaign rules summary, and a primary Start Game button. Include realistic sample data for at least six players and at least four nations. The ready button, nation selection, and chat input should have basic vanilla JavaScript interactions inside the same HTML file. The layout should feel like a polished game lobby, work on desktop and mobile, and clearly show states such as ready/not ready, locked nation, and host/player roles. Use semantic HTML where reasonable, accessible labels, good spacing, clear visual hierarchy, and responsive layout.
{
"min_chars": 6500,
"requires_style": true,
"requires_script": true,
"forbidden_contains": [
"```",
"TODO",
"lorem ipsum",
"placeholder text"
],
"allowed_cdn_hosts": [
"cdn.jsdelivr.net",
"cdnjs.cloudflare.com",
"unpkg.com"
],
"playwright_enabled": true,
"judge_enabled": true,
"render_wait_ms": 900,
"viewports": [
{
"name": "desktop",
"width": 1440,
"height": 900
},
{
"name": "mobile",
"width": 390,
"height": 844
}
],
"required_selectors": [
"button",
"input"
],
"required_text_groups": [
[
"Campaign",
"Kampagne"
],
[
"72",
"72h",
"72-hour"
],
[
"Nation",
"Nations"
],
[
"Ready",
"Bereit"
],
[
"Chat"
],
[
"Start Game",
"Start"
],
[
"Host",
"Player",
"Spieler"
],
[
"Locked",
"Gesperrt",
"Blocked"
]
],
"ui_requirements": [
{
"id": "campaign_timer",
"type": "text",
"text": [
"72",
"72h",
"72-hour",
"Countdown",
"Timer"
],
"points": 10
},
{
"id": "nation_selection",
"type": "text",
"text": [
"Nation",
"Nations",
"Faction",
"Country"
],
"points": 10
},
{
"id": "player_list",
"type": "text",
"text": [
"Players",
"Player",
"Spieler"
],
"points": 10
},
{
"id": "ready_status",
"type": "text",
"text": [
"Ready",
"Not Ready",
"Bereit",
"Nicht bereit"
],
"points": 10
},
{
"id": "chat_panel",
"type": "text",
"text": [
"Chat",
"Message",
"Nachricht"
],
"points": 10
},
{
"id": "rules_summary",
"type": "text",
"text": [
"Rules",
"Regeln",
"72",
"locked",
"Locked"
],
"points": 8
},
{
"id": "start_game_action",
"type": "text",
"text": [
"Start Game",
"Start",
"Spiel starten"
],
"points": 8
},
{
"id": "host_role",
"type": "text",
"text": [
"Host",
"Player",
"Spieler",
"Leader"
],
"points": 6
}
],
"interaction_checks": [
{
"id": "ready_button_clickable",
"viewport": "desktop",
"action": {
"type": "click_text",
"text": [
"Ready",
"Bereit"
]
},
"expect_no_page_error": true,
"points": 10
},
{
"id": "chat_input_accepts_message",
"viewport": "desktop",
"action": {
"type": "fill_first_input",
"value": "Ready for deployment"
},
"expect_no_page_error": true,
"points": 8
},
{
"id": "nation_selection_clickable",
"viewport": "desktop",
"action": {
"type": "click_text",
"text": [
"Nation",
"Federation",
"Empire",
"Republic",
"Alliance"
]
},
"expect_no_page_error": true,
"points": 8
}
],
"score_weights": {
"static": 0.1,
"render": 0.15,
"requirements": 0.2,
"interaction": 0.15,
"accessibility": 0.1,
"animation": 0,
"judge": 0.3
},
"pass_threshold": 0.7
}temperature
0
max_tokens
10000
timeout (s)
120
type
scored
file
ui-hard-game-lobby.json