收口 INI 面板 persistence summary 发布门禁

This commit is contained in:
2026-06-16 09:00:29 +08:00
parent 65e95327b3
commit d3ee5d49ff
21 changed files with 1458 additions and 46 deletions

View File

@@ -23,22 +23,41 @@ Use `src/index.js` for stable imports:
```js
import {
INI_PANEL_ENTRIES,
analyzeIniRuntimeBoundaries,
createControlPageBrowserApiManifest,
createControlPageBrowserApiMethods,
createControlPageBrowserApiSchema,
createIniPanelLaunchApiManifest,
createIniPanelLauncherLinkViewModel,
createIniPanelShellApiSurfaceInventory,
createIniPanelShellControlPageContract,
createIniPanelShellIntegrationManifest,
createIniPanelShellIntegrationReadiness,
createIniPanelShellIntegrationSchema,
createIniPanelShellIntegrationWorkflowPlan,
createIniPanelShellSessionReadinessWorkflowReport,
createIniPanelShellViewModel,
createIniPanelShellWorkflowOverviewContract,
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
createLinuxCncIniSdk,
createLinuxCncInterpSdk,
createMachineSessionPersistenceDisplayViewModel,
createMachineSessionPersistenceRenderState,
createMachineSessionPersistenceSummary,
createMachineSessionSnapshotPayload,
createSessionSnapshot,
defaultMachinePaths,
gcodeFilenameFromProgramPath,
gcodeProgramPath,
getIniPanelEntryByHref,
getIniPanelEntryManifest,
getOpfsRoot,
getVisibleIniPanelEntries,
isSupportedIniPanelControlPageApiManifest,
isSupportedIniPanelLaunchApiManifest,
isSupportedIniPanelShellIntegrationManifest,
loadMachineSessionFromOpfs,
loadMachineSessionSnapshot,
loadMachineTextFiles,
@@ -189,13 +208,42 @@ effects still come from the LinuxCNC-backed interpreter SDK methods they call.
The SDK entrypoint also re-exports the stable INI panel shell handoff surface
for external browser shells:
- `INI_PANEL_ENTRIES`, `getIniPanelEntryManifest()`,
`getIniPanelEntryByHref()`, `getVisibleIniPanelEntries()`, and
`createIniPanelLauncherLinkViewModel()` for discovering launch pages and
rendering shell-owned launcher links from the stable entry manifest.
- `createIniPanelLaunchApiManifest()` and
`isSupportedIniPanelLaunchApiManifest()` for launch API negotiation.
- `createControlPageBrowserApiSchema()`,
`createControlPageBrowserApiManifest()`,
`createControlPageBrowserApiMethods()`,
`createIniPanelShellControlPageContract()`, and
`isSupportedIniPanelControlPageApiManifest()` for read-only control-page API
negotiation.
- `createIniPanelShellIntegrationSchema()`,
`createIniPanelShellIntegrationManifest()`,
`createIniPanelShellIntegrationReadiness()`,
`createIniPanelShellIntegrationWorkflowPlan()`, and
`isSupportedIniPanelShellIntegrationManifest()` for checking launch and
control-page compatibility before embedding.
- `createIniPanelShellViewModel()` for a complete read-only shell integration
bundle.
- `createMachineSessionPersistenceSummary()` for a machine-readable OPFS/session
persistence summary covering machine files, session snapshot, session
readiness, session load, readonly status, and shell handoff readiness rows.
`createMachineSessionPersistenceDisplayViewModel()` and
`createMachineSessionPersistenceRenderState()` turn the summary into stable
display and render data.
`createIniPanelShellSessionHandoffWorkflowSummary()` can include this as the
read-only `persistence-summary` row.
- `createIniPanelShellWorkflowOverviewContract()` for discovering the workflow
overview iframe API contract.
- `createIniPanelShellApiSurfaceInventory()` for a machine-readable inventory
of launch, control-page, workflow overview, persistence, and session
readiness report API counts.
readiness report API counts, including persistence summary row counts.
`createIniPanelShellViewModel()` also includes
this inventory as a read-only workflow summary row so browser overview pages
and external shells can display API coverage without private imports.
- `createIniPanelShellSessionReadinessWorkflowReport()` for a machine-readable
session readiness workflow report with phase, missing reasons, status line,
and stable rows.

View File

@@ -54,12 +54,21 @@ export { loadMachineSessionFromOpfs } from "../../opfs/linuxcnc-machine-session-
export { readMachineSessionReadiness } from "../../opfs/machine-session-readiness.js";
export {
INI_PANEL_ENTRIES,
createControlPageBrowserApiManifest,
createControlPageBrowserApiMethods,
createControlPageBrowserApiSchema,
createIniPanelLaunchApiManifest,
createIniPanelLaunchApiSchema,
createIniPanelLauncherLinkViewModel,
createMachineSessionPersistenceDisplayViewModel,
createMachineSessionPersistenceRenderState,
createMachineSessionPersistenceSummary,
createIniPanelShellIntegrationManifest,
createIniPanelShellIntegrationReadiness,
createIniPanelShellIntegrationSchema,
createIniPanelShellIntegrationWorkflowPlan,
createIniPanelShellControlPageContract,
createIniPanelShellSessionHandoffCompatibilityReport,
createIniPanelShellSessionHandoffPackage,
createIniPanelShellSessionHandoffPackageMountDisplayViewModel,
@@ -84,6 +93,10 @@ export {
createIniPanelShellWorkflowOverviewEmbeddingRenderState,
createIniPanelShellWorkflowOverviewEmbeddingReport,
createIniPanelShellWorkflowOverviewReadiness,
getIniPanelEntryByHref,
getIniPanelEntryManifest,
getVisibleIniPanelEntries,
isSupportedIniPanelControlPageApiManifest,
isSupportedIniPanelLaunchApiManifest,
isSupportedIniPanelShellIntegrationManifest,
isSupportedIniPanelShellSessionHandoffPackage,