Sidewall belt and screen drawing, cheaper cleat checks (t42, t43)
Far sidewall drawn behind the load with cleat ribs at their physics positions; sloped screens get a tinted mesh between rails and shake only when loaded. Powder skips cleat checks outside chunks that have cleats, and empty slopes let their chunks sleep. Record the screw conveyor and stall/carry-depth decisions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -76,6 +76,27 @@ with sync_playwright() as p:
|
||||
check('built solids get no loose-grain outline', ground['built'][0] == ground['built'][1], ground['built'])
|
||||
check('smooth: a thin darker seam separates ground and rubble', ground['smooth'][0] < ground['smooth'][1] * 0.9, ground['smooth'])
|
||||
check('smooth: packed rubble keeps pebble shading', ground['texture'] > 30, ground['texture'])
|
||||
wall = pg.evaluate('''() => {
|
||||
GAME.paused = true; R.lens = false; SET.fog = false;
|
||||
SET.lighting = 'off'; SET.glow = 'off'; SET.grain = false;
|
||||
for(let y=20;y<150;y++)for(let x=40;x<240;x++)setCell(y*W+x,EMPTY,22,0);
|
||||
for(let k=0;k<6;k++)placeBlock(BP_BELT_UP,1,25+k,25-k,true);
|
||||
rebuildPower();slopeCleatsTick(false);prepareSlopeBelts(40,20,240,150);
|
||||
let cell=-1;
|
||||
for(let y=40;y<100 && cell<0;y++)for(let x=100;x<124;x++)
|
||||
if(slopeDetailAt(y*W+x,x,y)===2){cell=y*W+x;break;}
|
||||
if(cell<0)return null;
|
||||
const x=cell%W,y=(cell/W)|0,control=80*W+180;
|
||||
bot.x=118;bot.y=78;snapCamera();
|
||||
setCell(cell,SAND,22,0);setCell(control,SAND,22,0);
|
||||
noiseB[cell]=noiseB[control]=128;
|
||||
const at=i=>R.px[(((i/W)|0)-R.vy0)*R.bw+i%W-R.vx0];
|
||||
SET.look='pixel';drawWorld();const colors=[at(cell)&0xffffff,at(control)&0xffffff];
|
||||
SET.look='smooth';drawWorld();const grainClass=at(cell)>>>24;
|
||||
return {colors,grainClass};
|
||||
}''')
|
||||
check('sidewall stays behind the grain colour in pixels and smooth',
|
||||
wall and wall['colors'][0] == wall['colors'][1] and wall['grainClass'] == 2, wall)
|
||||
# a browser without hardware drawing gets the pixel look and a note
|
||||
pg2 = b.new_page(viewport={'width': 800, 'height': 500})
|
||||
pg2.add_init_script('localStorage.clear();')
|
||||
|
||||
Reference in New Issue
Block a user