Documentazione di OmsiLaunch
Traduzione della pagina originale in inglese di OmsiLaunch 0.1.0-beta3. La pagina inglese è normativa: in caso di differenze prevalgono la pagina inglese e il codice.
Questa è la documentazione normativa in inglese di OmsiLaunch 0.1.0-beta3, la baseline successiva al consolidamento (post-hardening). OmsiLaunch fornisce avvio programmabile, proprietà della sessione e controllo a runtime per esattamente un build di OMSI 2, il profilo Omsi23004_692EBFBF. Ogni pagina sotto docs/ descrive ciò che fa il codice attuale; quando una pagina e il codice non concordano, prevale il codice e la pagina contiene un bug.
Vocabolario di stabilità usato in tutta la documentazione: STABLE_BETA, EXPERIMENTAL, PARTIAL, INTERNAL, UNAVAILABLE. I flag che vengono analizzati ma non hanno alcun effetto sono contrassegnati come ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT. Nulla viene definito validato a runtime a meno che lo stato della validazione a runtime non lo indichi.
Chi legge cosa#
| Destinatari | Iniziare da | Poi |
|---|---|---|
| Utenti (CLI, collegamenti, profili di sessione) | Installazione, Prima sessione | Riferimento CLI, Esempi CLI, Profili di sessione, Area di notifica di Windows, Codici di uscita |
Integratori (OmsiLaunch.Api, IPC locale) | Guida rapida all'API pubblica, Riferimento dell'API pubblica, Riferimento LaunchSpec | Ciclo di vita della sessione, Controllo a runtime, Capability, Controllo locale / IPC, Riferimento degli errori |
| Manutentori (rilascio, validazione, confini) | Pacchettizzazione, Modello del plugin permanente | Transazioni e recupero, Compatibilità, Limitazioni note, Stato della validazione a runtime |
Navigazione#
| Pagina | Scopo |
|---|---|
| Per iniziare | Pianificare, avviare, osservare e arrestare una sessione dalla radice di OMSI. |
| Installazione | Prerequisiti, estrazione del pacchetto nella radice di OMSI, verifica con /version, rimozione pulita. |
| Guida rapida all'API pubblica | Un programma .NET completo che pianifica, avvia, legge e arresta una sessione. |
| Riferimento CLI | Ogni flag, parola di comando e route gerarchica di OmsiLaunch.exe / OmsiLaunchW.exe. |
| Esempi CLI | Righe di comando pronte da copiare e incollare per le attività comuni. |
| Riferimento LaunchSpec | Ogni proprietà e valore enum di LaunchSpec, regole di caricamento JSON per /spec. |
| Riferimento dei profili di sessione | Schema profile.yaml omsilaunch.session-profile/v1, chiavi, limiti, precedenza. |
| Riferimento dell'API pubblica | IOmsiLaunch, record ed enum pubblici, stabilità per membro. |
| Inventario dell'API pubblica | Elenco generato di ogni tipo e membro pubblico con firma e stabilità. |
| Controllo a runtime | Canale dei comandi runtime, timeout, handle, semantica dell'arresto. |
| Riferimento delle capability | Catalogo delle capability e ogni id di operazione runtime pubblica con la relativa classificazione. |
| Ciclo di vita della sessione | Transizioni di SessionState, cosa garantisce StartSessionAsync, come termina una sessione. |
| Transazioni e recupero | Stati del journal, backup, verifica del ripristino, eliminazioni di sessione, recupero dopo un crash. |
| Modello del plugin permanente | La chiusura del plugin plugins\OmsiLaunch.*, integrità basata sul manifest, ciò che una sessione non tocca mai. |
| Controllo locale / IPC | Protocollo named pipe 0.1, endpoint per installazione, associazione a session_id, modello di fiducia. |
| OmsiLaunchW.exe | L'host Windows (senza console): differenze rispetto a OmsiLaunch.exe, /silent, finestre di dialogo, codici di uscita. |
| Area di notifica di Windows | Indicatore nell'area di notifica: icona, menu, finestra di stato campo per campo, End session, riavvio di Esplora risorse. |
| Riferimento degli errori | Ogni codice OL_E_* / OL_W_* con categoria e significato. |
| Codici di uscita | Valori di PublicExitCode da 0 a 10 e codici dello shim di bootstrap da 100 a 106. |
| Pacchettizzazione / struttura dell'installazione | File nello ZIP di rilascio, release-manifest.json, struttura di .omsilaunch\. |
| Compatibilità / build di OMSI supportati | L'unico hash di Omsi.exe supportato, l'hash Steam LAA accettato, requisiti di piattaforma. |
| Limitazioni note | Ciò che non è supportato, è parziale o costituisce un rischio accettato in questa beta. |
| Stato della validazione a runtime | Cosa è stato eseguito sotto OMSI, cosa è stato eseguito solo offline, cosa richiede ancora una sessione reale. |
Pagine a livello radice che restano normative per i manutentori: README.md, PUBLIC-API.md, RUNTIME-CONTROL.md, RUNTIME-CAPABILITIES.md, BUILD-PROFILES.md, IMPLEMENTATION-STATUS.md, TESTING-AND-VALIDATION.md, POST-RELEASE-BACKLOG.md. Queste pagine riassumono; le pagine sopra elencate sono il riferimento dettagliato. Le pagine storiche sono elencate nel manifest della documentazione.
Come questa documentazione viene mantenuta sincronizzata#
Un gate della documentazione, tests\OmsiLaunch.DocumentationTests, viene compilato con OmsiLaunch.Api e OmsiLaunch.Core e confronta le pagine sopra elencate con il codice che definisce la superficie pubblica:
| Gate | Verifiche |
|---|---|
docs.cli-flags | Ogni voce di CliInput.KnownFlags compare nel riferimento CLI come `/flag` o `/flag:`; ogni voce di CliInput.AcceptedNoEffectFlags è contrassegnata come ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT sulla propria riga; ogni parola di comando e ogni route di CliInput.HierarchicalRoutes compare con la relativa operazione runtime; ogni valore di PublicExitCode ha una riga | n | nella tabella dei codici di uscita. |
docs.capabilities | Ogni id di PublicCapabilityRegistry.All, ogni voce di PublicCapabilityRegistry.PublicRuntimeOperationIds e ogni nome di PublicCapabilityClassification compare nel riferimento delle capability. |
docs.errors | Ogni codice di PublicErrorCodes.All compare nel riferimento degli errori, e nessun letterale OL_E_* / OL_W_* in src\ o tools\OmsiLaunch.Cli\ manca da PublicErrorCodes. |
docs.public-api | Ogni tipo esportato di OmsiLaunch.Api, ogni valore enum e ogni membro di IOmsiLaunch compare nel riferimento dell'API pubblica, e vengono usate tutte e cinque le parole di stabilità. |
docs.launchspec | Ogni proprietà pubblica raggiungibile da LaunchSpec e ogni valore dei suoi enum compare nel riferimento LaunchSpec. |
docs.session-profiles | Ogni chiave di SessionProfileCompiler.SchemaKeys, l'identificatore dello schema e il limite di 256 KiB compaiono nel riferimento dei profili di sessione. |
docs.structure | Ogni pagina della tabella di navigazione esiste. |
docs.links | Ogni link relativo in docs\**\*.md (escluso docs\localized\) e nei file *.md della radice si risolve in un file o in una directory. |
docs.localization | Ogni locale elencata in docs\localized\LOCALIZATION-MANIFEST.md dispone di ogni pagina dell'insieme localizzato; ogni pagina conserva i titoli, le tabelle e i blocchi di codice della pagina inglese, ogni span di codice inline (flag, id di capability e di operazione, codici di errore, chiavi, identificatori) e ogni link, e i suoi link relativi si risolvono. |
Il gate è una delle suite eseguite da tools\Invoke-OfflineValidation.ps1 (lo si salta con -SkipDocs). Viene eseguito offline, non avvia mai OMSI e fa fallire il build quando un flag, una route, una capability, un codice di errore, un valore enum o un tipo pubblico non è documentato o un link è interrotto. Non verifica la prosa, quindi una pagina può comunque descrivere in modo errato il comportamento; in tal caso segnalarlo come bug della pagina.
Traduzioni#
docs\localized\<locale>\ contiene traduzioni complete di questa documentazione 0.1.0-beta3 per pt-BR, pt-PT, en-GB, fr-FR, de-DE, es-ES, es-LATAM, it-IT, pl-PL, nl-NL, ru-RU, zh-CN, zh-TW e ja-JP. L'insieme delle pagine, le radici delle locale e le pagine intenzionalmente non tradotte sono elencati in localized/LOCALIZATION-MANIFEST.md. Le traduzioni mantengono invariati ogni comando, flag, identificatore, codice di errore ed esempio delle pagine inglesi, e il gate docs.localization lo verifica. Le pagine inglesi restano la fonte normativa: dove una traduzione non concorda con esse, fanno fede la pagina inglese e il codice, e la traduzione contiene un bug.