Dokumentacja OmsiLaunch
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#
| Odbiorcy | Na początek | Następnie |
|---|---|---|
| Użytkownicy (CLI, skróty, profile sesji) | Instalacja, Pierwsza sesja | Dokumentacja CLI, Przykłady CLI, Profile sesji, Obszar powiadomień Windows, Kody wyjścia |
Integratorzy (OmsiLaunch.Api, lokalne IPC) | Szybki start z publicznym API, Dokumentacja publicznego API, Dokumentacja LaunchSpec | Cykl życia sesji, Sterowanie runtime, Możliwości, Lokalne sterowanie / IPC, Dokumentacja błędów |
| Opiekunowie (wydania, weryfikacja, granice) | Pakowanie, Model stałej wtyczki | Transakcje i odzyskiwanie, Zgodność, Znane ograniczenia, Stan weryfikacji runtime |
Nawigacja#
| Strona | Przeznaczenie |
|---|---|
| Pierwsze kroki | Zaplanowanie, uruchomienie, obserwowanie i zatrzymanie jednej sesji z katalogu głównego OMSI. |
| Instalacja | Wymagania wstępne, rozpakowanie pakietu do katalogu głównego OMSI, weryfikacja za pomocą /version, czyste usunięcie. |
| Szybki start z publicznym API | Kompletny program .NET, który planuje, uruchamia, odczytuje i zatrzymuje jedną sesję. |
| Dokumentacja CLI | Każda flaga, słowo polecenia i hierarchiczna ścieżka polecenia OmsiLaunch.exe / OmsiLaunchW.exe. |
| Przykłady CLI | Wiersze poleceń do skopiowania dla typowych zadań. |
| Dokumentacja LaunchSpec | Każda właściwość LaunchSpec i wartość wyliczenia, reguły wczytywania JSON dla /spec. |
| Dokumentacja profili sesji | Schemat profile.yaml omsilaunch.session-profile/v1, klucze, limity, pierwszeństwo. |
| Dokumentacja publicznego API | IOmsiLaunch, publiczne rekordy i wyliczenia, stabilność każdej składowej. |
| Inwentarz publicznego API | Wygenerowana lista każdego publicznego typu i składowej wraz z sygnaturą i stabilnością. |
| Sterowanie runtime | Kanał poleceń runtime, limity czasu, uchwyty, semantyka zatrzymania. |
| Dokumentacja możliwości | Katalog możliwości (capabilities) i każdy publiczny identyfikator operacji runtime wraz z jego klasyfikacją. |
| Cykl życia sesji | Przejścia SessionState, co obiecuje StartSessionAsync, jak kończy się sesja. |
| Transakcje i odzyskiwanie | Stany dziennika, kopie zapasowe, weryfikacja przywracania, usunięcia w sesji, odzyskiwanie po awarii. |
| Model stałej wtyczki | Zestaw plików wtyczki (closure) plugins\OmsiLaunch.*, integralność oparta na manifeście, czego sesja nigdy nie dotyka. |
| Lokalne sterowanie / IPC | Protokół potoku nazwanego (named pipe) 0.1, punkt końcowy dla każdej instalacji, powiązanie session_id, model zaufania. |
| OmsiLaunchW.exe | Host Windows (bez konsoli): różnice względem OmsiLaunch.exe, /silent, okna dialogowe, kody wyjścia. |
| Obszar powiadomień Windows | Wskaźnik w obszarze powiadomień: ikona, menu, okno stanu pole po polu, zakończenie sesji (End session), ponowne uruchomienie Eksploratora (Explorer). |
| Dokumentacja błędów | Każdy kod OL_E_* / OL_W_* wraz z kategorią i znaczeniem. |
| Kody wyjścia | Wartości PublicExitCode od 0 do 10 oraz kody shimu programu rozruchowego od 100 do 106. |
| Pakowanie / układ instalacji | Pliki w archiwum ZIP wydania, release-manifest.json, układ .omsilaunch\. |
| Zgodność / obsługiwane buildy OMSI | Jedyny obsługiwany hash Omsi.exe, akceptowany hash Steam LAA, wymagania platformy. |
| Znane ograniczenia | Co w tej becie jest nieobsługiwane, częściowe lub stanowi zaakceptowane ryzyko. |
| Stan weryfikacji runtime | Co 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ę:
| Bramka | Sprawdza |
|---|---|
docs.cli-flags | Każ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.capabilities | Każdy identyfikator PublicCapabilityRegistry.All, każdy wpis PublicCapabilityRegistry.PublicRuntimeOperationIds i każda nazwa PublicCapabilityClassification występuje w dokumentacji możliwości. |
docs.errors | Każ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-api | Każ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.launchspec | Każda publiczna właściwość osiągalna z LaunchSpec i każda wartość jej wyliczeń występuje w dokumentacji LaunchSpec. |
docs.session-profiles | Każdy klucz SessionProfileCompiler.SchemaKeys, identyfikator schematu i limit 256 KiB występują w dokumentacji profili sesji. |
docs.structure | Każda strona z tabeli nawigacji istnieje. |
docs.links | Każ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.localization | Każ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.