Files
cnc_wams/wasm-port/docs/panel-entry.md

2.4 KiB

INI Panel Entry

This page is the short entry map for the INI panel UI shell.

Shell Module

Use the shell-facing module when an outer UI needs entry links or a read-only control view:

import {
  INI_PANEL_ENTRIES,
  createIniPanelLauncherLinkViewModel,
  createIniPanelShellViewModel,
  getIniPanelEntryByHref,
  getVisibleIniPanelEntries,
  createMachineSessionControlPageController,
  refreshMachineSessionControlPage,
  controlPageStatusText,
  renderMachineSessionControlView,
} from "../runtime/ui/ini-panel/ui-shell.js";

ui-shell.js re-exports the entry manifest, the read-only control-page controller, and the control-view renderer. It does not implement CNC behavior.

Pages

Page Path Role
Launch runtime/ui/ini-panel/launch.html Read-only entry page for available panel surfaces.
Edit and run runtime/ui/ini-panel/index.html Editable INI panel and existing run workflow surface.
Read-only control view runtime/ui/ini-panel/control-page.html Read-only control view backed by the panel API.

Visible Entries

The visible launch entries come from getVisibleIniPanelEntries():

Entry id Href Title
edit-run ./index.html Open edit and run panel
control-view ./control-page.html Open read-only control view

Launcher pages can render links from createIniPanelLauncherLinkViewModel() without reading manifest field names directly. Each item has entryId, href, and label.

Outer shells can call createIniPanelShellViewModel() when they need one read-only model with pages, launcherLinks, and controlPage helpers for mounting the existing control-page controller, refresh workflow, and renderer.

The control-page refresh workflow lives in runtime/ui/ini-panel/control-page-refresh-workflow.js. Use refreshMachineSessionControlPage() when an outer shell needs a structured refresh result with phase, statusText, view, renderResult, and error. controlPageStatusText() formats the already-observed panel status fields for the read-only status line, and createControlPageRefreshState() is the stable state-shape helper used by the workflow.

Boundary

The entry shell only links pages and renders already-observed panel state. It does not parse G-code, infer canonical events, or implement LinuxCNC-owned tool, parameter, planner, or kinematics behavior.