推进 INI 面板 session summary helper

This commit is contained in:
2026-06-14 18:22:57 +08:00
parent b2b8bd6b4f
commit aeb290b885
6 changed files with 198 additions and 19 deletions

View File

@@ -26,6 +26,11 @@ import {
createRunSummary,
summarizeRunResult,
} from "./run-summary.js";
import {
createSessionSnapshotSummary,
sessionSnapshotMetadataLogLines,
sessionSnapshotSummaryLogLines,
} from "./session-summary.js";
const SAMPLE_PATH =
"../../../vendor/linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini";
@@ -343,10 +348,7 @@ function sessionSnapshotMetadata() {
}
function sessionMetadataLogLines(metadata = {}) {
return [
`Workflow: ${metadata.workflow ?? "-"}`,
`Default G-code: ${metadata.defaultGcodeOpfsPath ?? "-"}`,
];
return sessionSnapshotMetadataLogLines(createSessionSnapshotSummary({ metadata }));
}
function runSessionContextLogLines(program, snapshot = restoredSessionSnapshot) {
@@ -576,15 +578,15 @@ document.getElementById("save-session-snapshot").addEventListener("click", async
setField("sessionToolTable", snapshot.payload.files.toolTable);
setField("sessionGcode", snapshot.payload.files.gcode);
setField("sessionSnapshot", sessionSnapshotLabel(UI_SESSION));
const summary = createSessionSnapshotSummary(snapshot, sessionSnapshotLabel(UI_SESSION));
setLog(
[
"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}`,
`G-code: ${snapshot.payload.files.gcode}`,
...sessionSnapshotSummaryLogLines(summary),
`INI: ${summary.iniOpfsPath}`,
`Parameter file: ${summary.parameterOpfsPath}`,
`Tool table file: ${summary.toolTableOpfsPath}`,
`G-code: ${summary.gcodeOpfsPath}`,
].join("\n"),
);
} catch (error) {
@@ -595,15 +597,15 @@ document.getElementById("save-session-snapshot").addEventListener("click", async
document.getElementById("restore-session-snapshot").addEventListener("click", async () => {
try {
const snapshot = await restoreSessionSnapshotToEditor();
const summary = createSessionSnapshotSummary(snapshot, sessionSnapshotLabel(snapshot.sessionId));
setLog(
[
"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}`,
`G-code: ${snapshot.payload.files.gcode ?? "-"}`,
...sessionSnapshotSummaryLogLines(summary),
`INI: ${summary.iniOpfsPath}`,
`Parameter file: ${summary.parameterOpfsPath}`,
`Tool table file: ${summary.toolTableOpfsPath}`,
`G-code: ${summary.gcodeOpfsPath ?? "-"}`,
].join("\n"),
);
} catch (error) {
@@ -634,17 +636,17 @@ document.getElementById("restore-load-session").addEventListener("click", async
const snapshot = await restoreSessionSnapshotToEditor();
await loadMachineSessionIntoWasm();
setField("sessionGcode", snapshot.payload.files.gcode);
const summary = createSessionSnapshotSummary(snapshot, sessionSnapshotLabel(snapshot.sessionId));
setLog(
[
"Restored and loaded machine session snapshot.",
`Snapshot: ${sessionSnapshotLabel(snapshot.sessionId)}`,
...sessionMetadataLogLines(snapshot.metadata),
...sessionSnapshotSummaryLogLines(summary),
`INI: ${loadedSession.ini.opfsPath} -> ${loadedSession.ini.wasmPath}`,
`Parameter file: ${loadedSession.parameters.opfsPath} -> ${loadedSession.parameters.wasmPath}`,
`Parameters: ${loadedSession.parameters.result.trim()}`,
`Tool table file: ${loadedSession.toolTable.opfsPath} -> ${loadedSession.toolTable.wasmPath}`,
`Tool table: ${loadedSession.toolTable.result.trim()}`,
`G-code: ${snapshot.payload.files.gcode ?? "-"}`,
`G-code: ${summary.gcodeOpfsPath ?? "-"}`,
].join("\n"),
);
} catch (error) {