MODEL Agemma4:26bDNF
No usable answer reached the harness (TIMEOUT). Counted as a did-not-finish.
Answers below are anonymized and shuffled. Read, judge, pick a favourite — then scroll down and reveal the models.
The field: deepseek-r1:14b · gemma4:26b · llama3.1:8b · mistral-small:24b · qwen3-coder:30b · qwen3:14b · qwen3:8b · qwen3.5:9b — listed alphabetically, which is not the order of the cards below.
2 of the 8 local models delivered nothing through our test harness in this round — for reasons that lie with our setup, not with the models. Those cards are marked DNF like any other, but they are not evidence about those models. Which ones, and why, is spelled out in the reveal.
Create ONE self-contained HTML file (STRICT LIMIT: max 7000 characters in total — this is a budget on characters, not on lines, so removing line breaks does not help) that flies through a starfield on a <canvas>: keep a few hundred stars with x, y, z coordinates, move them towards the viewer, and project them with a perspective divide so they streak outwards from the centre and grow brighter and larger as they approach. Recycle each star to a fresh random position far away once it passes the camera. Show the star count and the current speed. Use only the 2D canvas context — no WebGL, no libraries. Smooth requestAnimationFrame animation, NO user input, starts immediately and keeps running (restart with a fresh random instance when finished). No external libraries, no comments needed. Output ONLY the HTML file content, nothing else.
```html
<!DOCTYPE html>
<html>
<head>
<style>
body {
margin: 0;
overflow: hidden;
background-color: #000;
}
</style>
</head>
<body>
<canvas id="c" width=800 height=600></canvas>
<script>
var ctx = document.getElementById('c').getContext2D();
ctx.lineWidth = 1.5;
var stars = [], starcount = 0, speed = 100, viewdist = 300;
function randompos() {
return {x: Math.random()*800*3-400, y: Math.random()*600*3-300};
}
function drawstars() {
ctx.fillStyle = '#fff';
for(var i=0; i<stars.length; i++) {
var s = stars[i];
if(s.x<-viewdist) {s.x+=2000; starcount--; }
else {ctx.beginPath(); ctx.arc(-s.x/viewdist*800, -s.y/viewdist*600, Math.max(1, viewdist-s.x)/viewdist*10, 0, Math.PI*2); ctx.fill();}
}
}
function reset() {
stars = [], starcount=0;
for(var i=0; i<200; i++) {stars.push(randompos());};
requestAnimationFrame(draw);
}
requestAnimationFrame(function(){
draw();
function draw() {
ctx.clearRect(0, 0, 800, 600);
drawstars();
ctx.fillStyle = '#ff0';
ctx.font = '24px arial';
ctx.textAlign = 'left'; ctx.textBaseline = 'top';
ctx.fillText('Stars: ' + starcount + ', Speed: ' + speed, 10, 20);
requestAnimationFrame(draw);
}
});
reset();
</script>
</body>
</html>
```<!DOCTYPE html>
<html>
<head>
<title>Starfield</title>
<style>body {margin:0;overflow:hidden;}canvas{display:block;background-color:#000;}</style>
</head>
<body>
<canvas id="starCanvas"></canvas>
<script>
const canvas = document.getElementById('starCanvas');
const ctx = canvas.getContext('2d');
let width, height;
function resize() {
width = window.innerWidth;
height = window.innerHeight;
canvas.width = width;
canvas.height = height;
}
window.addEventListener('resize', resize);
resize();
const NUM_STARS = 300;
let stars = [];
let speed = 0.05; // Speed factor for movement
class Star {
constructor() {
this.reset();
}
reset() {
// Initial position far away (large negative Z)
this.z = Math.random() * -1000 - 100;
// Random horizontal spread (-W/2 to W/2)
this.x = (Math.random() - 0.5) * width * 2;
// Random vertical spread (-H/2 to H/2)
this.y = (Math.random() - 0.5) * height * 2;
this.size = Math.random() * 1.5 + 0.5; // Base size for drawing
}
update() {
// Move towards the viewer (Z increases, approaching 0)
this.z += speed * 30;
// Recycling check: If star passes the camera (Z > 1), reset it far away.
if (this.z > 1) {
this.reset();
}
}
draw() {
// Perspective Projection using z as depth factor 'w'
const w = this.z;
// Avoid division by zero or extreme values near the camera plane
if (Math.abs(w) < 0.1 || Math.abs(w) > 5000) return;
// Calculate screen coordinates
let sx = (this.x / w * width) + (width / 2);
let sy = (this.y / w * height) + (height / 2);
// Calculate apparent size and brightness based on z
// Closer objects (w approaches 0) are larger/brighter
const scaleFactor = 1 / Math.max(0.1, Math.abs(w));
let radius = this.size * scaleFactor * 2;
let alpha = Math.min(1, scaleFactor * 0.3);
// Draw the star streak/point
ctx.beginPath();
ctx.arc(sx, sy, radius * (w > 0 ? 0.5 : 1), 0, Math.PI * 2);
ctx.fillStyle = `rgba(255, 255, ${Math.floor(200 + alpha * 50)}, ${alpha})`;
ctx.fill();
}
}
function initializeStars() {
stars = [];
for (let i = 0; i < NUM_STARS; i++) {
stars.push(new Star());
}
}
function animate() {
// Clear canvas with slight residual trail effect (optional: use opacity fill)
ctx.fillStyle = 'rgba(0, 0, 0, 0.1)'; // Trail effect
ctx.fillRect(0, 0, width, height);
let activeStars = 0;
for (const star of stars) {
star.update();
star.draw();
activeStars++;
}
// Update UI Stats
const speedDisplay = document.getElementById('speed');
if (speedDisplay) {
speedDisplay.textContent = `Speed: ${speed.toFixed(2)}\nStars: ${NUM_STARS}`;
}
requestAnimationFrame(animate);
}
initializeStars();
animate();
// Injecting the stats display element directly since no DOM manipulation is allowed outside script scope
const style = document.createElement('style');
style.textContent = `
body::after {
content: attr(data-stats);
position: absolute;
top: 10px; left: 10px; color: #fff; font-family: monospace; z-index: 10; opacity: 0.7;
}
`;
document.head.appendChild(style);
// Overwriting the star field to draw stats dynamically
const statDiv = document.createElement('div');
statDiv.id = 'stats';
statDiv.style.cssText = `
position: absolute;
top: 10px; left: 10px; color: #fff; font-family: monospace; z-index: 10; opacity: 0.7;
`;
document.body.appendChild(statDiv);
const statElement = document.getElementById('stats');
let intervalId = setInterval(() => {
if (typeof statElement !== 'undefined') {
statElement.textContent = `Speed: ${speed.toFixed(2)}\nStars: ${NUM_STARS}`;
}
}, 100);
</script>
</body>
</html>```html
<!DOCTYPE html>
<html><head><title>Starfield</title></head><body style="margin:0;overflow:hidden"><canvas id="starCanvas" width="window.innerWidth" height="window.innerHeight"></canvas><script>const canvas = document.getElementById('starCanvas');const ctx = canvas.getContext('2d');let stars=[];const STAR_COUNT=350;const SPEED=10;function init() {canvas.width = window.innerWidth;canvas.height = window.innerHeight;stars=[];for(let i=0;i<STAR_COUNT;i++)stars.push({...star=()=>{let angle=Math.random()*2*Math.PI;let dist=1000+Math.random()*5000;return{x:dist*Math.cos(angle),y:dist*Math.sin(angle),z:dist,size:Math.random()*1.5}});stars.push(star());}function update() {const w=canvas.width;const h=canvas.height;let starCount=0;for(let i=0;i<STAR_COUNT;i++) {let s=stars[i];s.z-=SPEED;if(s.z<-1) {s.x=Math.random()*w*2-w;s.y=Math.random()*h*2-h;s.z=5000;}}const scaleFactor=400/(w*2);for(let i=0;i<STAR_COUNT;i++) {let s=stars[i];let p=s.z/1000;let screenX=(s.x*(1-p))/(s.z/5000+1)+w/2;let screenY=(s.y*(1-p))/(s.z/5000+1)+h/2;let size=Math.max(0.5, Math.min(4, 0.3+(1-(s.z/-5000)) * 1));let alpha=Math.min(1, s.z/2000);ctx.fillStyle=`rgba(255,255,255,${alpha})`;ctx.beginPath();ctx.arc(screenX,screenY,size,0,2*Math.PI);ctx.fill();starCount++;}document.getElementById('stats').innerHTML=`Stars: ${starCount}<br>Speed: ${SPEED.toFixed(1)}`;}function animate() {ctx.fillStyle='rgba(0,0,0,0.1)';ctx.fillRect(0,0,canvas.width,canvas.height);update();requestAnimationFrame(animate);}window.addEventListener('resize', function(){canvas.width = window.innerWidth;canvas.height = window.innerHeight;});const statsDiv=document.createElement('div');statsDiv.id='stats'style='position:fixed;top:10px;left:10px;color:#fff;font-family:monospace;z-index:10';document.body.appendChild(statsDiv);init();animate();</script></body></html>
``````html
<!DOCTYPE html>
<html><head><title>Starfield</title></head><body style="margin:0;overflow:hidden;"><canvas id="c"></canvas><script>const c=document.getElementById('c');const ctx=c.getContext('2d');let stars=[],speed=1.5,starCount=300;let W=window.innerWidth;let H=window.innerHeight;c.width=W;c.height=H;
function Star{constructor(x){this.x=x*2-W;this.y=Math.random()*H;this.z=Math.random()*100+50;}reset(){this.x=Math.random()*W;this.y=Math.random()*H;this.z=Math.random()*100+50;}update(s){this.z-=s;if(this.z<0)this.reset();}draw(c,s){let p=s/(100-this.z);let rx=this.x*p/W;let ry=this.y*p/H;let sZ=Math.max(0.5,this.z/100);let size=Math.min(20,1+Math.sqrt(sZ));let alpha=Math.min(1,sZ/30)*size/20;c.fillStyle=`rgba(255,255,255,${alpha})`;c.beginPath();c.arc(rx*W+(W-rx)/2,ry*H+(H-ry)/2,size*p/10+0.5,0,Math.PI*2);c.fill();}
function init(){stars=[];for(let i=0;i<starCount;i++){stars.push(new Star());}requestAnimationFrame(animate);}
function animate(){ctx.fillStyle='rgba(0,0,1,0.1)';ctx.fillRect(0,0,W,H);ctx.save();ctx.translate(W/2,H/2);for(let s of stars){s.update(speed);s.draw(ctx,speed);}ctx.restore();document.getElementById('stats').innerHTML=`Stars: ${starCount}<br>Speed: ${speed.toFixed(2)}`;requestAnimationFrame(animate);}
window.addEventListener('resize',()=>{(W=Math.min(window.innerWidth,1200));(H=Math.min(window.innerHeight,800));c.width=W;c.height=H;});init();</script><div id="stats" style="position:fixed;top:10px;left:10px;color:#fff;background:rgba(0,0,0,0.5);padding:5px;font-family:monospace;">Starfield Running...</div></body></html>
``````html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Starfield</title>
<style>
body {margin: 0; display: flex; justify-content: center; align-items: center; height: 100vh; background: black;}
canvas {display: block;}
#info {position: absolute; top: 20px; left: 20px; color: white; font-family: Arial, sans-serif;}
</style>
</head>
<body>
<canvas id="starfield"></canvas>
<div id="info">Stars: <span id="starCount">300</span> Speed: <span id="speed">1.0</span></div>
<script>
let canvas = document.getElementById('starfield');
let ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
const stars = [];
const starCount = 300;
const maxSpeed = 5;
const minSpeed = 1;
let speed = Math.random() * (maxSpeed - minSpeed) + minSpeed;
document.getElementById('starCount').innerText = starCount;
document.getElementById('speed').innerText = speed.toFixed(2);
function createStars(count) {
for (let i = 0; i < count; i++) {
stars.push({
x: Math.random() * canvas.width,
y: Math.random() * canvas.height,
z: Math.random() * canvas.width
});
}
}
createStars(starCount);
function updateStars() {
for (let star of stars) {
star.z -= speed;
if (star.z <= 0) {
star.x = Math.random() * canvas.width;
star.y = Math.random() * canvas.height;
star.z = canvas.width;
}
}
}
function drawStars() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (let star of stars) {
let x = star.x / star.z * canvas.width + canvas.width / 2;
let y = star.y / star.z * canvas.height + canvas.height / 2;
let size = 1 / star.z * 50;
ctx.beginPath();
ctx.arc(x, y, size, 0, Math.PI * 2);
ctx.fillStyle = 'white';
ctx.fill();
}
}
function animate() {
updateStars();
drawStars();
requestAnimationFrame(animate);
}
requestAnimationFrame(() => {
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
createStars(starCount);
speed = Math.random() * (maxSpeed - minSpeed) + minSpeed;
document.getElementById('speed').innerText = speed.toFixed(2);
animate();
});
</script>
</body>
</html>
```| Blind label | Model | Blind score | Latency | Status |
|---|---|---|---|---|
| MODEL A | gemma4:26b | — | — | harness |
| MODEL B | qwen3:8b | — | — | harness |
| MODEL C | deepseek-r1:14b | — | — | DNF |
| MODEL D | llama3.1:8b | — | 79.2 s | OK |
| MODEL E | qwen3.5:9b | — | 33.1 s | OK |
| MODEL F | qwen3-coder:30b | — | 13.3 s | OK |
| MODEL G | qwen3:14b | — | 18.1 s | OK |
| MODEL H | mistral-small:24b | — | 72.4 s | OK |