1.8 KiB
UI Machine File Helpers
Purpose
runtime/ui/ini-panel/machine-file-summary.js contains small host-boundary
helpers for summarizing machine text file save/load actions. These helpers are
pure so browser UI panels, SDK-facing wrappers, and Node smoke tests can share
the same data shape without parsing log text.
The helpers do not implement CNC behavior. They only describe OPFS path mapping and captured text lengths for machine files staged by the UI.
createMachineFileSaveSummary(paths, gcodePath)
paths is the object returned by saveMachineTextFiles(...).
gcodePath is the OPFS path returned by saveGcodeProgram(...).
The returned summary has this shape:
{
iniOpfsPath: "linuxcnc/machines/xyzab-tdr/machine.ini",
toolTableOpfsPath: "linuxcnc/machines/xyzab-tdr/tool.tbl",
parameterOpfsPath: "linuxcnc/machines/xyzab-tdr/linuxcnc.var",
gcodeOpfsPath: "linuxcnc/gcode/ui-session.ngc"
}
createMachineFileLoadSummary(files)
files is the object returned by loadMachineTextFiles(...).
The returned summary has this shape:
{
iniBytes: 26,
toolTableBytes: 13,
parameterBytes: 7
}
Log Helpers
machineFileSaveLogLines(summary)renders the staged OPFS paths.machineFileLoadLogLines(summary)renders the loaded byte lengths.
Boundary Rules
- Do not parse G-code text in these helpers.
- Do not infer tool, parameter, kinematics, planner, or modal semantics.
- Do not derive new CNC behavior from the staged file names or lengths.
- Keep new fields limited to host/runtime boundary facts already produced by the LinuxCNC-owned runtime or UI staging layer.
Validation
Run the focused Node smoke after changing these helpers:
wasm-port/tests/ui/node/verify_ini_panel_machine_file_summary.sh
The aggregate UI Node smoke is:
wasm-port/tests/ui/node/verify_ui_node_smokes.sh