import assert from "node:assert/strict"; import fs from "node:fs"; import path from "node:path"; const root = path.resolve(new URL("../..", import.meta.url).pathname); const cachePath = path.join(root, "build_web_blender6", "CMakeCache.txt"); const cache = fs.readFileSync(cachePath, "utf8"); assert.match(cache, /^WITH_OPENVDB:BOOL=OFF$/m, "OpenVDB must remain disabled until a WASM decoder is linked"); assert.match(cache, /^WITH_NANOVDB:BOOL=ON$/m, "NanoVDB metadata support is expected"); const roots = [path.join(root, "resource-library"), path.join(root, "tests"), "/home/mes123456/resource-library"]; const vdbFiles = []; function scan(directory) { if (!fs.existsSync(directory)) return; for (const entry of fs.readdirSync(directory, { withFileTypes: true })) { const fullPath = path.join(directory, entry.name); if (entry.isDirectory()) scan(fullPath); else if (/\.vdb(?:\.gz)?$/i.test(entry.name)) vdbFiles.push(fullPath); } } for (const directory of roots) scan(directory); assert.equal(vdbFiles.length, 0, `unexpected local VDB resource(s): ${vdbFiles.join(", ")}`); process.stdout.write("vdb-availability-ok status=BLOCKED openvdb=disabled nanovdb=metadata-only local-vdb=0 renderer=blocked decoder=blocked\n");