3.2 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,
createMachineSessionReadonlyStatus,
readMachineSessionReadonlyStatus,
loadMachineSessionForControlPageWorkflow,
createControlPageSessionLoadState,
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, the unified read-only status API, 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.
Use controlPage.readStatus or readMachineSessionReadonlyStatus() when an
outer shell needs one stable read of stateBundle, workflowStatus,
overview, controlView, session, runReadiness, and run.
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.
The control-page session workflow lives in
runtime/ui/ini-panel/control-page-session-workflow.js. Use
loadMachineSessionForControlPageWorkflow() when an outer shell needs a
read-only readiness snapshot for the embedded panel API and first control view.
createControlPageSessionLoadState() is the stable state-shape helper for
waiting-panel, waiting-api, waiting-session, ready, and error phases.
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.