Add Chromium-only Blender WebEngine parity work
This commit is contained in:
17
tools/web/check-topology-collapse.mjs
Normal file
17
tools/web/check-topology-collapse.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
import { execFileSync } from "node:child_process";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
|
||||
const probe = path.join(root, "tools/web/probe-topology-collapse.mjs");
|
||||
const output = execFileSync(process.execPath, [probe], { cwd: root, encoding: "utf8" }).trim();
|
||||
const results = JSON.parse(output.split("\n").at(-1) ?? "[]");
|
||||
const expected = new Set(["mesh:OpenQuad", "mesh:OpenNgon", "mesh:NonManifold"]);
|
||||
|
||||
for (const result of results) {
|
||||
if (!expected.delete(result.meshId) || result.result !== 0 || result.triangles <= 0) {
|
||||
throw new Error(`Topology Collapse failed: ${output}`);
|
||||
}
|
||||
}
|
||||
if (expected.size > 0) throw new Error(`Topology Collapse fixture missing meshes: ${[...expected].join(", ")}`);
|
||||
console.log(`topology-collapse-ok ${JSON.stringify(results)}`);
|
||||
Reference in New Issue
Block a user