推进 INI 面板快照 metadata 日志

This commit is contained in:
2026-06-14 16:43:06 +08:00
parent 5cd5cb6869
commit 0c0da13681
3 changed files with 83 additions and 0 deletions

View File

@@ -334,6 +334,13 @@ function sessionSnapshotMetadata() {
};
}
function sessionMetadataLogLines(metadata = {}) {
return [
`Workflow: ${metadata.workflow ?? "-"}`,
`Default G-code: ${metadata.defaultGcodeOpfsPath ?? "-"}`,
];
}
async function loadSelectedGcodeProgram() {
const opfsPath = restoredSessionSnapshot?.payload?.files?.gcode;
let filename = UI_SESSION.defaultGcodeFilename;
@@ -529,6 +536,7 @@ document.getElementById("save-session-snapshot").addEventListener("click", async
[
"Saved machine session snapshot to OPFS.",
`Snapshot: ${sessionSnapshotLabel(UI_SESSION)}`,
...sessionMetadataLogLines(snapshot.metadata),
`INI: ${snapshot.payload.files.ini}`,
`Parameter file: ${snapshot.payload.files.parameters}`,
`Tool table file: ${snapshot.payload.files.toolTable}`,
@@ -547,6 +555,7 @@ document.getElementById("restore-session-snapshot").addEventListener("click", as
[
"Restored machine session snapshot from OPFS.",
`Snapshot: ${sessionSnapshotLabel(snapshot.sessionId)}`,
...sessionMetadataLogLines(snapshot.metadata),
`INI: ${snapshot.payload.files.ini}`,
`Parameter file: ${snapshot.payload.files.parameters}`,
`Tool table file: ${snapshot.payload.files.toolTable}`,
@@ -585,6 +594,7 @@ document.getElementById("restore-load-session").addEventListener("click", async
[
"Restored and loaded machine session snapshot.",
`Snapshot: ${sessionSnapshotLabel(snapshot.sessionId)}`,
...sessionMetadataLogLines(snapshot.metadata),
`INI: ${loadedSession.ini.opfsPath} -> ${loadedSession.ini.wasmPath}`,
`Parameter file: ${loadedSession.parameters.opfsPath} -> ${loadedSession.parameters.wasmPath}`,
`Parameters: ${loadedSession.parameters.result.trim()}`,

View File

@@ -428,6 +428,13 @@ TOOL_TABLE = browser-tool.tbl
"linuxcnc/gcode/ui-session.ngc",
"UI snapshot G-code OPFS path",
);
const savedSnapshotLog = uiDocument.getElementById("log").textContent;
if (
!savedSnapshotLog.includes("Workflow: save-session-snapshot") ||
!savedSnapshotLog.includes("Default G-code: linuxcnc/gcode/ui-session.ngc")
) {
throw new Error(`UI saved snapshot log missing metadata summary: ${savedSnapshotLog}`);
}
const savedUiSnapshot = await loadMachineSessionSnapshot(
"ui-machine-session",
"xyzab-tdr",
@@ -460,6 +467,13 @@ TOOL_TABLE = browser-tool.tbl
"ui-machine-session/ui-machine-session.json",
"UI restored session snapshot path",
);
const restoredSnapshotLog = uiDocument.getElementById("log").textContent;
if (
!restoredSnapshotLog.includes("Workflow: save-session-snapshot") ||
!restoredSnapshotLog.includes("Default G-code: linuxcnc/gcode/ui-session.ngc")
) {
throw new Error(`UI restored snapshot log missing metadata summary: ${restoredSnapshotLog}`);
}
if (!uiDocument.getElementById("ini-editor").value.includes("MACHINE = browser-smoke")) {
throw new Error("UI restored session snapshot did not reload INI text");
}
@@ -489,6 +503,8 @@ TOOL_TABLE = browser-tool.tbl
}
if (
!uiLog.includes("Snapshot: ui-machine-session/ui-machine-session.json") ||
!uiLog.includes("Workflow: save-session-snapshot") ||
!uiLog.includes("Default G-code: linuxcnc/gcode/ui-session.ngc") ||
!uiLog.includes(
"Parameter file: linuxcnc/machines/xyzab-tdr/linuxcnc.var -> /work/session-linuxcnc.var",
) ||