12 lines
1.8 KiB
JavaScript
12 lines
1.8 KiB
JavaScript
'use strict';
|
|
const {assert,functionSource,app}=require('./helpers/app-source');
|
|
assert(functionSource('boardPlayHudVisible').includes('hudBoardId===b?.id')&&functionSource('activateBoardPointerDrag').includes('activateBoardHud(b)')&&!functionSource('selectBoard').includes('hudBoardId=b.id'),'HUD must be activated by manipulation and remain on that board after release');
|
|
assert(functionSource('drawWorldOverview').includes('overviewCache')&&functionSource('positionCachedWorldOverview').includes('overviewCanvas.style.transform')&&functionSource('drawWorldOverview').includes('drawImage(overviewBase'),'Overview panning must move a cached raster layer without viewport-sized frame copies');
|
|
assert(functionSource('rebuildWorldOverviewCache').includes('drawMapBoardCells'),'Overview cache rebuild is missing');
|
|
assert(!functionSource('queueRealtimeCursor').includes('schedulePresenceRender'),'Local cursor movement must not repaint the remote-presence canvas');
|
|
assert(functionSource('applyCamera').includes('shiftOnlineLayersForCamera')&&functionSource('redrawOnlineLayersAfterCamera').includes('schedulePresenceRender'),'Camera movement must transform online layers and repaint only after interaction');
|
|
assert(!functionSource('applyCamera').includes('queueMicrotask(repositionActiveBoardHud)'), 'Camera frames must not force HUD layout');
|
|
assert(functionSource('applyCamera').includes('visibilityTimer=setTimeout'),'Board LOD updates must be deferred until interaction settles');
|
|
assert(app.includes('OVERVIEW_CACHE_OVERSCAN_PX=192'),'Overview cache overscan is missing');
|
|
assert(!functionSource('visibleMetaIds').includes('ids.add(activeBoard)'),'A far selected board must not enlarge the composited world layer');
|
|
console.log('v47.75 pan, cursor, overview cache, and HUD regression test passed');
|