Fog of war: unexplored is black, fades ease into it with no stepped rim (t17)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+4
-4
@@ -807,7 +807,7 @@ with sync_playwright() as p:
|
||||
}""")
|
||||
fp.wait_for_timeout(300)
|
||||
sample = "(() => { drawWorld(); const k = (235 - R.vy0) * R.bw + 300 - R.vx0; return R.px[k] & 0xffffff; })()"
|
||||
check('unexplored pixel is out-of-world black', fp.evaluate(sample) == 0x0a0a0c)
|
||||
check('unexplored pixel is black', fp.evaluate(sample) == 0)
|
||||
check('sky starts seen and draws colour', fp.evaluate("(() => { const cy=R.camY; R.camY=0; drawWorld(); const c=R.px[20*R.bw+20]&0xffffff; R.camY=cy; drawWorld(); return fogSeen(300,0)===255 && c!==0x0a0a0c; })()"))
|
||||
check('unexplored canvas pixel is black', fp.evaluate("(() => {const s=worldToScreenPx(300.5,235.5);return Array.from(R.ctx.getImageData(s.x,s.y,1,1).data).slice(0,3).every(v=>v<=12)})()"))
|
||||
check('hover and cursor share only Unexplored', fp.evaluate("JSON.stringify(hoverInfo(300,235)) === JSON.stringify({t1:'Unexplored',t2:[],t3:[]})"))
|
||||
@@ -821,13 +821,13 @@ with sync_playwright() as p:
|
||||
}"""))
|
||||
fp.screenshot(path=str(out / 'fog-pixel.png'))
|
||||
fp.evaluate('R.lens = true')
|
||||
check('thermal lens hides unexplored grains', fp.evaluate(sample) == 0x0a0a0c)
|
||||
check('thermal lens hides unexplored grains', fp.evaluate(sample) == 0)
|
||||
fp.evaluate('R.lens = false; SET.fog = false')
|
||||
check('fog toggle shows the same rock', fp.evaluate(sample) != 0x0a0a0c)
|
||||
check('fog toggle shows the same rock', fp.evaluate(sample) != 0)
|
||||
fp.evaluate("SET.fog = true; SET.look = 'smooth'; SM.t0 = performance.now() + 100000")
|
||||
fp.wait_for_timeout(500)
|
||||
check('fog draws in the smooth look', fp.evaluate('R.smoothOn && SM.ok'))
|
||||
check('unseen smooth grains have no terrain shape', fp.evaluate("(() => {const k=(235-R.vy0)*R.bw+300-R.vx0;return R.px[k]===0x040a0a0c && R.backPx[k]===0x000a0a0c && R.treePx[k]===0 && R.fieldPx[k]===255})()"))
|
||||
check('unseen smooth grains have no terrain shape', fp.evaluate("(() => {const k=(235-R.vy0)*R.bw+300-R.vx0;return R.px[k]===0x04000000 && R.backPx[k]===0 && R.treePx[k]===0 && R.fieldPx[k]===255})()"))
|
||||
fp.screenshot(path=str(out / 'fog-smooth.png'))
|
||||
fb.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user