# 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: ```js import { INI_PANEL_ENTRIES, createIniPanelLauncherLinkViewModel, getIniPanelEntryByHref, getVisibleIniPanelEntries, createMachineSessionControlPageController, 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`. ## 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.