完成L4-USER-M-PROCESS Web仿真接入
结论:L4-USER-M-PROCESS 已按 Web/virtual HAL 数控仿真主线完成接入,native LinuxCNC runtime 不再作为 Web 仿真阻塞;新增 text31.txt 接续剩余 77 个 SKIP 的 main-program promotion 复核。
This commit is contained in:
@@ -98,6 +98,7 @@
|
||||
"next-boundary-recommendations.tsv",
|
||||
"next-boundary-worklist.tsv",
|
||||
"promotion-candidates.tsv",
|
||||
"remaining-skip-main-program-promotion-audit.tsv",
|
||||
"python-remap-browser-row-proof.tsv",
|
||||
"python-remap-bulk-promotion-plan.tsv",
|
||||
"python-remap-boundary-summary.tsv",
|
||||
@@ -155,7 +156,7 @@
|
||||
"build/native/source-probes.tsv",
|
||||
];
|
||||
|
||||
if (wasmArtifactNames.length !== 59 || new Set(wasmArtifactNames).size !== wasmArtifactNames.length) {
|
||||
if (wasmArtifactNames.length !== 60 || new Set(wasmArtifactNames).size !== wasmArtifactNames.length) {
|
||||
throw new Error("browser_generated_artifact_documentation_coverage: WASM artifact list drift");
|
||||
}
|
||||
if (nativeArtifactTokens.length !== 8 || new Set(nativeArtifactTokens).size !== nativeArtifactTokens.length) {
|
||||
|
||||
@@ -127,6 +127,57 @@
|
||||
if (doc.body.dataset.simulationProgramId !== state.program?.id) {
|
||||
throw new Error(`simulation body program id drift for ${state.program?.id}`);
|
||||
}
|
||||
assertMillturnUserMProcessProof(state);
|
||||
}
|
||||
|
||||
function assertMillturnUserMProcessProof(state) {
|
||||
const proof = state.millturnUserMProcess;
|
||||
if (
|
||||
proof?.apiName !== "real-browser-simulation-millturn-user-m-process-proof" ||
|
||||
proof.ready !== true ||
|
||||
proof.webSimulationReady !== true ||
|
||||
proof.boundaryClass !== "L4-USER-M-PROCESS" ||
|
||||
proof.path !== "axis/vismach/millturn/example.ngc" ||
|
||||
proof.ini !== "axis/vismach/millturn/millturn.ini" ||
|
||||
proof.nativeRuntimeRequired !== false ||
|
||||
proof.nativeRuntimeRequiredForWebSimulation !== false ||
|
||||
proof.processExecutionReady !== false ||
|
||||
proof.executionEnabled !== false ||
|
||||
proof.promotionAllowed !== false ||
|
||||
proof.transitionOrder?.join(",") !== "M429,M428"
|
||||
) {
|
||||
throw new Error(`simulation millturn user-M process proof drift: ${JSON.stringify(proof)}`);
|
||||
}
|
||||
if (
|
||||
proof.turn?.userMCode !== "M129" ||
|
||||
proof.turn?.remapCode !== "M429" ||
|
||||
proof.turn?.stateMode !== "turn" ||
|
||||
proof.turn?.pins?.["motion.switchkins-type"] !== 1 ||
|
||||
proof.turn?.pins?.["motion.analog-out-03"] !== 1 ||
|
||||
proof.turn?.pins?.["kinstype.is-0"] !== 0 ||
|
||||
proof.turn?.pins?.["kinstype.is-1"] !== 1 ||
|
||||
proof.turn?.pins?.["ini.x.min_limit"] !== -240 ||
|
||||
proof.turn?.pins?.["ini.x.max_limit"] !== 0 ||
|
||||
proof.turn?.pins?.["ini.z.min_limit"] !== -300 ||
|
||||
proof.turn?.pins?.["ini.z.max_limit"] !== 300
|
||||
) {
|
||||
throw new Error(`simulation millturn user-M turn proof drift: ${JSON.stringify(proof.turn)}`);
|
||||
}
|
||||
if (
|
||||
proof.mill?.userMCode !== "M128" ||
|
||||
proof.mill?.remapCode !== "M428" ||
|
||||
proof.mill?.stateMode !== "mill" ||
|
||||
proof.mill?.pins?.["motion.switchkins-type"] !== 0 ||
|
||||
proof.mill?.pins?.["motion.analog-out-03"] !== 0 ||
|
||||
proof.mill?.pins?.["kinstype.is-0"] !== 1 ||
|
||||
proof.mill?.pins?.["kinstype.is-1"] !== 0 ||
|
||||
proof.mill?.pins?.["ini.x.min_limit"] !== -300 ||
|
||||
proof.mill?.pins?.["ini.x.max_limit"] !== 300 ||
|
||||
proof.mill?.pins?.["ini.z.min_limit"] !== -240 ||
|
||||
proof.mill?.pins?.["ini.z.max_limit"] !== 0
|
||||
) {
|
||||
throw new Error(`simulation millturn user-M mill proof drift: ${JSON.stringify(proof.mill)}`);
|
||||
}
|
||||
}
|
||||
|
||||
function assertAxisShell(doc) {
|
||||
|
||||
Reference in New Issue
Block a user