Dokumentacja OmsiLaunch

Dokumentacja wersji v0.1.0-beta.3Zobacz źródło na GitHubie

Tłumaczenie oryginalnej strony w języku angielskim dla OmsiLaunch 0.1.0-beta3. Wiążąca jest strona angielska: w razie rozbieżności obowiązują strona angielska i kod.

To jest normatywna angielska dokumentacja OmsiLaunch 0.1.0-beta3, stanu bazowego po etapie utwardzania (post-hardening). OmsiLaunch zapewnia programowalne uruchamianie, własność sesji i sterowanie w czasie działania (runtime) dla dokładnie jednego buildu OMSI 2, profilu Omsi23004_692EBFBF. Każda strona w docs/ opisuje, co robi bieżący kod; gdy strona i kod są niezgodne, rozstrzyga kod, a strona zawiera błąd.

Słownictwo stabilności używane w całej dokumentacji: STABLE_BETA, EXPERIMENTAL, PARTIAL, INTERNAL, UNAVAILABLE. Flagi, które są parsowane, ale niczego nie robią, są oznaczone jako ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT. Nic nie jest nazywane zweryfikowanym w runtime, dopóki nie stwierdza tego strona stan weryfikacji runtime.

Kto czyta co#

StronaPrzeznaczenie
Pierwsze krokiZaplanowanie, uruchomienie, obserwowanie i zatrzymanie jednej sesji z katalogu głównego OMSI.
InstalacjaWymagania wstępne, rozpakowanie pakietu do katalogu głównego OMSI, weryfikacja za pomocą /version, czyste usunięcie.
Szybki start z publicznym APIKompletny program .NET, który planuje, uruchamia, odczytuje i zatrzymuje jedną sesję.
Dokumentacja CLIKażda flaga, słowo polecenia i hierarchiczna ścieżka polecenia OmsiLaunch.exe / OmsiLaunchW.exe.
Przykłady CLIWiersze poleceń do skopiowania dla typowych zadań.
Dokumentacja LaunchSpecKażda właściwość LaunchSpec i wartość wyliczenia, reguły wczytywania JSON dla /spec.
Dokumentacja profili sesjiSchemat profile.yaml omsilaunch.session-profile/v1, klucze, limity, pierwszeństwo.
Dokumentacja publicznego APIIOmsiLaunch, publiczne rekordy i wyliczenia, stabilność każdej składowej.
Inwentarz publicznego APIWygenerowana lista każdego publicznego typu i składowej wraz z sygnaturą i stabilnością.
Sterowanie runtimeKanał poleceń runtime, limity czasu, uchwyty, semantyka zatrzymania.
Dokumentacja możliwościKatalog możliwości (capabilities) i każdy publiczny identyfikator operacji runtime wraz z jego klasyfikacją.
Cykl życia sesjiPrzejścia SessionState, co obiecuje StartSessionAsync, jak kończy się sesja.
Transakcje i odzyskiwanieStany dziennika, kopie zapasowe, weryfikacja przywracania, usunięcia w sesji, odzyskiwanie po awarii.
Model stałej wtyczkiZestaw plików wtyczki (closure) plugins\OmsiLaunch.*, integralność oparta na manifeście, czego sesja nigdy nie dotyka.
Lokalne sterowanie / IPCProtokół potoku nazwanego (named pipe) 0.1, punkt końcowy dla każdej instalacji, powiązanie session_id, model zaufania.
OmsiLaunchW.exeHost Windows (bez konsoli): różnice względem OmsiLaunch.exe, /silent, okna dialogowe, kody wyjścia.
Obszar powiadomień WindowsWskaźnik w obszarze powiadomień: ikona, menu, okno stanu pole po polu, zakończenie sesji (End session), ponowne uruchomienie Eksploratora (Explorer).
Dokumentacja błędówKażdy kod OL_E_* / OL_W_* wraz z kategorią i znaczeniem.
Kody wyjściaWartości PublicExitCode od 0 do 10 oraz kody shimu programu rozruchowego od 100 do 106.
Pakowanie / układ instalacjiPliki w archiwum ZIP wydania, release-manifest.json, układ .omsilaunch\.
Zgodność / obsługiwane buildy OMSIJedyny obsługiwany hash Omsi.exe, akceptowany hash Steam LAA, wymagania platformy.
Znane ograniczeniaCo w tej becie jest nieobsługiwane, częściowe lub stanowi zaakceptowane ryzyko.
Stan weryfikacji runtimeCo zostało uruchomione pod OMSI, co działało tylko offline, co nadal wymaga prawdziwej sesji.

Strony w katalogu głównym repozytorium, które pozostają normatywne dla opiekunów: 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. Stanowią one podsumowanie; szczegółową dokumentacją są powyższe strony. Strony historyczne są wymienione w manifeście dokumentacji.

Jak dokumentacja jest utrzymywana w zgodności z kodem#

Bramka dokumentacji, tests\OmsiLaunch.DocumentationTests, jest kompilowana względem OmsiLaunch.Api i OmsiLaunch.Core i porównuje powyższe strony z kodem definiującym publiczną powierzchnię:

BramkaSprawdza
docs.cli-flagsKażdy wpis CliInput.KnownFlags występuje w dokumentacji CLI jako `/flag` lub `/flag:`; każdy wpis CliInput.AcceptedNoEffectFlags jest w swoim wierszu oznaczony jako ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT; każde słowo polecenia i każda ścieżka polecenia CliInput.HierarchicalRoutes występuje wraz ze swoją operacją runtime; każda wartość PublicExitCode ma wiersz | n | w tabeli kodów wyjścia.
docs.capabilitiesKażdy identyfikator PublicCapabilityRegistry.All, każdy wpis PublicCapabilityRegistry.PublicRuntimeOperationIds i każda nazwa PublicCapabilityClassification występuje w dokumentacji możliwości.
docs.errorsKażdy kod PublicErrorCodes.All występuje w dokumentacji błędów i żadnego literału OL_E_* / OL_W_* w src\ ani w tools\OmsiLaunch.Cli\ nie brakuje w PublicErrorCodes.
docs.public-apiKażdy eksportowany typ OmsiLaunch.Api, każda wartość wyliczenia i każda składowa IOmsiLaunch występuje w dokumentacji publicznego API i używane jest wszystkie pięć słów stabilności.
docs.launchspecKażda publiczna właściwość osiągalna z LaunchSpec i każda wartość jej wyliczeń występuje w dokumentacji LaunchSpec.
docs.session-profilesKażdy klucz SessionProfileCompiler.SchemaKeys, identyfikator schematu i limit 256 KiB występują w dokumentacji profili sesji.
docs.structureKażda strona z tabeli nawigacji istnieje.
docs.linksKażdy względny link w docs\**\*.md (z wyłączeniem docs\localized\) i w plikach *.md w katalogu głównym prowadzi do istniejącego pliku lub katalogu.
docs.localizationKażda lokalizacja wymieniona w docs\localized\LOCALIZATION-MANIFEST.md ma każdą stronę zlokalizowanego zestawu; każda strona zachowuje nagłówki, tabele i bloki kodu strony angielskiej, każdy fragment kodu w tekście (flagi, identyfikatory możliwości i operacji, kody błędów, klucze, identyfikatory) i każdy link, a jej względne linki prowadzą do istniejących celów.

Bramka jest jednym z zestawów testów uruchamianych przez tools\Invoke-OfflineValidation.ps1 (można ją pominąć za pomocą -SkipDocs). Działa offline, nigdy nie uruchamia OMSI i powoduje niepowodzenie buildu, gdy flaga, ścieżka polecenia, możliwość, kod błędu, wartość wyliczenia lub publiczny typ nie są udokumentowane albo link jest uszkodzony. Nie sprawdza prozy, więc strona może nadal błędnie opisywać zachowanie; należy to zgłosić jako błąd strony.

Tłumaczenia#

docs\localized\<locale>\ zawiera kompletne tłumaczenia tej dokumentacji 0.1.0-beta3 dla 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 i ja-JP. Zestaw stron, katalogi główne lokalizacji oraz strony celowo nietłumaczone są wymienione w localized/LOCALIZATION-MANIFEST.md. Tłumaczenia zachowują bez zmian każde polecenie, flagę, identyfikator, kod błędu i przykład stron angielskich, co sprawdza bramka docs.localization. Strony angielskie pozostają źródłem normatywnym: gdy tłumaczenie jest z nimi niezgodne, rozstrzygają strona angielska i kod, a tłumaczenie zawiera błąd.