Queue WebGL book reveal masks
This commit is contained in:
@@ -5,6 +5,14 @@ const sourcePath = path.join(__dirname, '..', 'public', 'js', 'webgl-book-lab.js
|
||||
const source = fs.readFileSync(sourcePath, 'utf8');
|
||||
const proceduralBookPath = path.join(__dirname, '..', 'public', 'js', 'procedural-book-model.js');
|
||||
const proceduralBookSource = fs.readFileSync(proceduralBookPath, 'utf8');
|
||||
const textureRendererPath = path.join(__dirname, '..', 'public', 'js', 'book-texture-renderer-module.js');
|
||||
const textureRendererSource = fs.readFileSync(textureRendererPath, 'utf8');
|
||||
const playbackCoordinatorPath = path.join(__dirname, '..', 'public', 'js', 'playback-coordinator-module.js');
|
||||
const playbackCoordinatorSource = fs.readFileSync(playbackCoordinatorPath, 'utf8');
|
||||
const uiDisplayHandlerPath = path.join(__dirname, '..', 'public', 'js', 'ui-display-handler-module.js');
|
||||
const uiDisplayHandlerSource = fs.readFileSync(uiDisplayHandlerPath, 'utf8');
|
||||
const bookPaginationPath = path.join(__dirname, '..', 'public', 'js', 'book-pagination-module.js');
|
||||
const bookPaginationSource = fs.readFileSync(bookPaginationPath, 'utf8');
|
||||
|
||||
const checks = [
|
||||
['scene-level SSAO import', /SSAOPass/.test(source)],
|
||||
@@ -29,7 +37,13 @@ const checks = [
|
||||
['analytic contact fallback removed', !/surfaceContactOcclusion|candleContactField|candleContactOcclusion|bookContactField|candleFootOcclusion|contactAo/.test(source)],
|
||||
['debug AO remains scene-level', /scene debug: SSAO/.test(source)],
|
||||
['contact debug mode removed', !/contact:\s*9|tableDebugMode == 9/.test(source)],
|
||||
['render readiness flag is exposed', /BookLabDebug\.ready/.test(source) && /BookLabDebug\.renderedFrames/.test(source)]
|
||||
['render readiness flag is exposed', /BookLabDebug\.ready/.test(source) && /BookLabDebug\.renderedFrames/.test(source)],
|
||||
['3D playback bypasses DOM word animation scheduling', /isWebGLPlaybackMode/.test(playbackCoordinatorSource) && /if \(this\.isWebGLPlaybackMode\(\)\)/.test(playbackCoordinatorSource) && /scheduleWebGLReveal/.test(playbackCoordinatorSource)],
|
||||
['3D UI defers rendered history mark until playback completes', /deferRenderedMark/.test(uiDisplayHandlerSource) && /prepareWebGLBookReveal/.test(uiDisplayHandlerSource) && /markBlockRendered\(sentence\.blockId/.test(uiDisplayHandlerSource)],
|
||||
['pagination can build a pending unrendered 3D block', /preparePendingBlock/.test(bookPaginationSource) && /book-pagination:prepare-block/.test(bookPaginationSource)],
|
||||
['texture renderer has separate prepare and start reveal phases', /prepareRevealBlock/.test(textureRendererSource) && /startPreparedRevealAnimation/.test(textureRendererSource) && /webgl-book:page-reveal-start/.test(textureRendererSource)],
|
||||
['texture renderer publishes per-word reveal coordinates', /revealWords/.test(textureRendererSource) && /wordRects/.test(textureRendererSource) && /blockWordStart/.test(textureRendererSource)],
|
||||
['page reveal shader uses coordinate mask instead of comparing page textures', /bookRevealWordRects/.test(source) && /bookRevealWordTimings/.test(source) && /bookRevealElapsedMs/.test(source) && !/texture2D\(bookRevealMap/.test(source)]
|
||||
];
|
||||
|
||||
const failures = checks.filter(([, passed]) => !passed).map(([name]) => name);
|
||||
|
||||
Reference in New Issue
Block a user