Documentação do OmsiLaunch
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úblico | Comece aqui | Depois |
|---|---|---|
| Usuários (CLI, atalhos, perfis de sessão) | Instalação, Primeira sessão | Referência da CLI, Exemplos da CLI, Perfis de sessão, Bandeja do Windows, Códigos de saída |
Integradores (OmsiLaunch.Api, IPC local) | Início rápido da API pública, Referência da API pública, Referência do LaunchSpec | Ciclo de vida da sessão, Controle de runtime, Capacidades, Controle local / IPC, Referência de erros |
| Mantenedores (release, validação, limites) | Empacotamento, Modelo de plugin permanente | Transações e recuperação, Compatibilidade, Limitações conhecidas, Status de validação em runtime |
Navegação#
| Página | Finalidade |
|---|---|
| Primeiros passos | Planejar, iniciar, observar e parar uma sessão a partir da raiz do OMSI. |
| Instalação | Pré-requisitos, extração do pacote na raiz do OMSI, verificação com /version, remoção limpa. |
| Início rápido da API pública | Um programa .NET completo que planeja, inicia, lê e para uma sessão. |
| Referência da CLI | Todas as flags, palavras de comando e rotas hierárquicas de OmsiLaunch.exe / OmsiLaunchW.exe. |
| Exemplos da CLI | Linhas de comando prontas para copiar e colar para tarefas comuns. |
| Referência do LaunchSpec | Todas as propriedades e valores de enum de LaunchSpec, regras de carregamento de JSON para /spec. |
| Referência de perfis de sessão | Esquema omsilaunch.session-profile/v1 de profile.yaml, chaves, limites, precedência. |
| Referência da API pública | IOmsiLaunch, records e enums públicos, estabilidade por membro. |
| Inventário da API pública | Lista gerada de todos os tipos e membros públicos, com assinatura e estabilidade. |
| Controle de runtime | Canal de comandos de runtime, timeouts, handles, semântica de parada. |
| Referência de capacidades | Catálogo de capacidades e todos os ids de operação de runtime públicos com sua classificação. |
| Ciclo de vida da sessão | Transições de SessionState, o que StartSessionAsync promete, como uma sessão termina. |
| Transações e recuperação | Estados do journal, backups, verificação da restauração, exclusões da sessão, recuperação após falha. |
| Modelo de plugin permanente | O conjunto de arquivos plugins\OmsiLaunch.*, integridade baseada no manifesto, o que uma sessão nunca toca. |
| Controle local / IPC | Protocolo de named pipe 0.1, endpoint por instalação, vinculação a session_id, modelo de confiança. |
| OmsiLaunchW.exe | O host Windows (sem console): diferenças em relação ao OmsiLaunch.exe, /silent, caixas de diálogo, códigos de saída. |
| Bandeja do Windows | Indicador na área de notificação: ícone, menu, janela de status campo a campo, encerrar a sessão, reinício do Explorer. |
| Referência de erros | Todos os códigos OL_E_* / OL_W_* com categoria e significado. |
| Códigos de saída | Valores de PublicExitCode de 0 a 10 e códigos do shim de bootstrap de 100 a 106. |
| Empacotamento / layout da instalação | Arquivos no ZIP de release, release-manifest.json, layout de .omsilaunch\. |
| Compatibilidade / builds do OMSI suportados | O único hash de Omsi.exe suportado, o hash Steam LAA aceito, requisitos de plataforma. |
| Limitações conhecidas | O que não é suportado, é parcial ou é um risco aceito nesta beta. |
| Status de validação em runtime | O 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:
| Gate | Verifica |
|---|---|
docs.cli-flags | Toda 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.capabilities | Todo id de PublicCapabilityRegistry.All, toda entrada de PublicCapabilityRegistry.PublicRuntimeOperationIds e todo nome de PublicCapabilityClassification aparece na referência de capacidades. |
docs.errors | Todo 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-api | Todo 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.launchspec | Toda propriedade pública alcançável a partir de LaunchSpec e todo valor de seus enums aparece na referência do LaunchSpec. |
docs.session-profiles | Toda chave de SessionProfileCompiler.SchemaKeys, o identificador do esquema e o limite de 256 KiB aparecem na referência de perfis de sessão. |
docs.structure | Toda página da tabela de navegação existe. |
docs.links | Todo link relativo em docs\**\*.md (exceto docs\localized\) e nos arquivos *.md da raiz aponta para um arquivo ou diretório existente. |
docs.localization | Toda 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.