Documentazione di OmsiLaunch

Documentazione della versione v0.1.0-beta.3Vedi il sorgente su GitHub

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#

PaginaScopo
Per iniziarePianificare, avviare, osservare e arrestare una sessione dalla radice di OMSI.
InstallazionePrerequisiti, estrazione del pacchetto nella radice di OMSI, verifica con /version, rimozione pulita.
Guida rapida all'API pubblicaUn programma .NET completo che pianifica, avvia, legge e arresta una sessione.
Riferimento CLIOgni flag, parola di comando e route gerarchica di OmsiLaunch.exe / OmsiLaunchW.exe.
Esempi CLIRighe di comando pronte da copiare e incollare per le attività comuni.
Riferimento LaunchSpecOgni proprietà e valore enum di LaunchSpec, regole di caricamento JSON per /spec.
Riferimento dei profili di sessioneSchema profile.yaml omsilaunch.session-profile/v1, chiavi, limiti, precedenza.
Riferimento dell'API pubblicaIOmsiLaunch, record ed enum pubblici, stabilità per membro.
Inventario dell'API pubblicaElenco generato di ogni tipo e membro pubblico con firma e stabilità.
Controllo a runtimeCanale dei comandi runtime, timeout, handle, semantica dell'arresto.
Riferimento delle capabilityCatalogo delle capability e ogni id di operazione runtime pubblica con la relativa classificazione.
Ciclo di vita della sessioneTransizioni di SessionState, cosa garantisce StartSessionAsync, come termina una sessione.
Transazioni e recuperoStati del journal, backup, verifica del ripristino, eliminazioni di sessione, recupero dopo un crash.
Modello del plugin permanenteLa chiusura del plugin plugins\OmsiLaunch.*, integrità basata sul manifest, ciò che una sessione non tocca mai.
Controllo locale / IPCProtocollo named pipe 0.1, endpoint per installazione, associazione a session_id, modello di fiducia.
OmsiLaunchW.exeL'host Windows (senza console): differenze rispetto a OmsiLaunch.exe, /silent, finestre di dialogo, codici di uscita.
Area di notifica di WindowsIndicatore nell'area di notifica: icona, menu, finestra di stato campo per campo, End session, riavvio di Esplora risorse.
Riferimento degli erroriOgni codice OL_E_* / OL_W_* con categoria e significato.
Codici di uscitaValori di PublicExitCode da 0 a 10 e codici dello shim di bootstrap da 100 a 106.
Pacchettizzazione / struttura dell'installazioneFile nello ZIP di rilascio, release-manifest.json, struttura di .omsilaunch\.
Compatibilità / build di OMSI supportatiL'unico hash di Omsi.exe supportato, l'hash Steam LAA accettato, requisiti di piattaforma.
Limitazioni noteCiò che non è supportato, è parziale o costituisce un rischio accettato in questa beta.
Stato della validazione a runtimeCosa è 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:

GateVerifiche
docs.cli-flagsOgni 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.capabilitiesOgni id di PublicCapabilityRegistry.All, ogni voce di PublicCapabilityRegistry.PublicRuntimeOperationIds e ogni nome di PublicCapabilityClassification compare nel riferimento delle capability.
docs.errorsOgni 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-apiOgni 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.launchspecOgni proprietà pubblica raggiungibile da LaunchSpec e ogni valore dei suoi enum compare nel riferimento LaunchSpec.
docs.session-profilesOgni chiave di SessionProfileCompiler.SchemaKeys, l'identificatore dello schema e il limite di 256 KiB compaiono nel riferimento dei profili di sessione.
docs.structureOgni pagina della tabella di navigazione esiste.
docs.linksOgni link relativo in docs\**\*.md (escluso docs\localized\) e nei file *.md della radice si risolve in un file o in una directory.
docs.localizationOgni 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.