Files
RuView/scripts/pose-physics/verify-feature-boundary.mjs

26 lines
944 B
JavaScript

import path from "node:path";
import { fileURLToPath } from "node:url";
import { spawnSync } from "node:child_process";
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
const result = spawnSync(
"cargo",
["tree", "-p", "wifi-densepose-physics", "-e", "normal", "--prefix", "none"],
{ cwd: path.join(root, "v2"), encoding: "utf8" },
);
if (result.error) throw result.error;
if (result.status !== 0) {
if (result.stdout) process.stderr.write(result.stdout);
if (result.stderr) process.stderr.write(result.stderr);
process.exit(result.status ?? 1);
}
const forbidden = /^(?:burn(?:-|\s|$)|rapier3d(?:\s|$)|tch(?:\s|$)|ort(?:\s|$))/m;
if (forbidden.test(result.stdout)) {
process.stderr.write(result.stdout);
throw new Error("default physics dependency graph contains an optional heavy backend");
}
process.stdout.write(JSON.stringify({ verdict: "PASS", profile: "default-kinematic" }) + "\n");