Documentação do OmsiLaunch

Documentação da versão v0.1.0-beta.3Ver fonte no GitHub

Tradução da página original em inglês do OmsiLaunch 0.1.0-beta3. A página em inglês é a referência normativa: se as duas divergirem, valem a página em inglês e o código.

Esta é a documentação normativa em inglês do OmsiLaunch 0.1.0-beta3, a linha de base pós-endurecimento (post-hardening). O OmsiLaunch oferece inicialização programável, propriedade de sessão e controle de runtime para exatamente um build do OMSI 2, o perfil Omsi23004_692EBFBF. Cada página em docs/ descreve o que o código atual faz; quando uma página e o código divergem, vale o código e a página contém um bug.

Vocabulário de estabilidade usado em toda a documentação: STABLE_BETA, EXPERIMENTAL, PARTIAL, INTERNAL, UNAVAILABLE. Flags que são interpretadas, mas não fazem nada, são marcadas como ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT. Nada é considerado validado em runtime, a menos que o status de validação em runtime o diga.

Quem lê o quê#

PáginaFinalidade
Primeiros passosPlanejar, iniciar, observar e parar uma sessão a partir da raiz do OMSI.
InstalaçãoPré-requisitos, extração do pacote na raiz do OMSI, verificação com /version, remoção limpa.
Início rápido da API públicaUm programa .NET completo que planeja, inicia, lê e para uma sessão.
Referência da CLITodas as flags, palavras de comando e rotas hierárquicas de OmsiLaunch.exe / OmsiLaunchW.exe.
Exemplos da CLILinhas de comando prontas para copiar e colar para tarefas comuns.
Referência do LaunchSpecTodas as propriedades e valores de enum de LaunchSpec, regras de carregamento de JSON para /spec.
Referência de perfis de sessãoEsquema omsilaunch.session-profile/v1 de profile.yaml, chaves, limites, precedência.
Referência da API públicaIOmsiLaunch, records e enums públicos, estabilidade por membro.
Inventário da API públicaLista gerada de todos os tipos e membros públicos, com assinatura e estabilidade.
Controle de runtimeCanal de comandos de runtime, timeouts, handles, semântica de parada.
Referência de capacidadesCatálogo de capacidades e todos os ids de operação de runtime públicos com sua classificação.
Ciclo de vida da sessãoTransições de SessionState, o que StartSessionAsync promete, como uma sessão termina.
Transações e recuperaçãoEstados do journal, backups, verificação da restauração, exclusões da sessão, recuperação após falha.
Modelo de plugin permanenteO conjunto de arquivos plugins\OmsiLaunch.*, integridade baseada no manifesto, o que uma sessão nunca toca.
Controle local / IPCProtocolo de named pipe 0.1, endpoint por instalação, vinculação a session_id, modelo de confiança.
OmsiLaunchW.exeO host Windows (sem console): diferenças em relação ao OmsiLaunch.exe, /silent, caixas de diálogo, códigos de saída.
Bandeja do WindowsIndicador na área de notificação: ícone, menu, janela de status campo a campo, encerrar a sessão, reinício do Explorer.
Referência de errosTodos os códigos OL_E_* / OL_W_* com categoria e significado.
Códigos de saídaValores de PublicExitCode de 0 a 10 e códigos do shim de bootstrap de 100 a 106.
Empacotamento / layout da instalaçãoArquivos no ZIP de release, release-manifest.json, layout de .omsilaunch\.
Compatibilidade / builds do OMSI suportadosO único hash de Omsi.exe suportado, o hash Steam LAA aceito, requisitos de plataforma.
Limitações conhecidasO que não é suportado, é parcial ou é um risco aceito nesta beta.
Status de validação em runtimeO que foi executado sob o OMSI, o que foi executado somente offline, o que ainda precisa de uma sessão real.

Páginas na raiz do repositório que continuam normativas para os mantenedores: 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. Elas resumem; as páginas acima são a referência detalhada. As páginas históricas estão listadas no manifesto da documentação.

Como esta documentação é mantida sincronizada#

Um gate de documentação, tests\OmsiLaunch.DocumentationTests, é compilado contra OmsiLaunch.Api e OmsiLaunch.Core e compara as páginas acima com o código que define a superfície pública:

GateVerifica
docs.cli-flagsToda entrada de CliInput.KnownFlags aparece na referência da CLI como `/flag` ou `/flag:`; toda entrada de CliInput.AcceptedNoEffectFlags é marcada como ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT em sua linha; toda palavra de comando e toda rota de CliInput.HierarchicalRoutes aparece com sua operação de runtime; todo valor de PublicExitCode tem uma linha | n | na tabela de códigos de saída.
docs.capabilitiesTodo id de PublicCapabilityRegistry.All, toda entrada de PublicCapabilityRegistry.PublicRuntimeOperationIds e todo nome de PublicCapabilityClassification aparece na referência de capacidades.
docs.errorsTodo código de PublicErrorCodes.All aparece na referência de erros, e nenhum literal OL_E_* / OL_W_* em src\ ou tools\OmsiLaunch.Cli\ está ausente de PublicErrorCodes.
docs.public-apiTodo tipo exportado de OmsiLaunch.Api, todo valor de enum e todo membro de IOmsiLaunch aparece na referência da API pública, e as cinco palavras de estabilidade são usadas.
docs.launchspecToda propriedade pública alcançável a partir de LaunchSpec e todo valor de seus enums aparece na referência do LaunchSpec.
docs.session-profilesToda chave de SessionProfileCompiler.SchemaKeys, o identificador do esquema e o limite de 256 KiB aparecem na referência de perfis de sessão.
docs.structureToda página da tabela de navegação existe.
docs.linksTodo link relativo em docs\**\*.md (exceto docs\localized\) e nos arquivos *.md da raiz aponta para um arquivo ou diretório existente.
docs.localizationToda localidade listada em docs\localized\LOCALIZATION-MANIFEST.md tem todas as páginas do conjunto localizado; cada página mantém os títulos, as tabelas e os blocos de código da página em inglês, todo trecho de código inline (flags, ids de capacidade e de operação, códigos de erro, chaves, identificadores) e todo link, e seus links relativos apontam para destinos existentes.

O gate é uma das suítes executadas por tools\Invoke-OfflineValidation.ps1 (ignore-o com -SkipDocs). Ele é executado offline, nunca inicia o OMSI e faz o build falhar quando uma flag, rota, capacidade, código de erro, valor de enum ou tipo público não está documentado ou quando um link está quebrado. Ele não verifica a prosa, então uma página ainda pode estar errada sobre o comportamento; relate isso como um bug da página.

Traduções#

docs\localized\<locale>\ contém traduções completas desta documentação 0.1.0-beta3 para 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. O conjunto de páginas, as raízes das localidades e as páginas intencionalmente não traduzidas estão listados em localized/LOCALIZATION-MANIFEST.md. As traduções mantêm inalterados todos os comandos, flags, identificadores, códigos de erro e exemplos das páginas em inglês, e o gate docs.localization verifica isso. As páginas em inglês continuam sendo a fonte normativa: onde uma tradução divergir delas, a página em inglês e o código prevalecem, e a tradução contém um bug.