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: em caso de divergência, prevalecem 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 base de referência posterior ao reforço (post-hardening). O OmsiLaunch fornece lançamento programável, gestão da propriedade da sessão e controlo de runtime para exatamente uma 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, prevalece o código e a página contém um erro.
Vocabulário de estabilidade usado em toda a documentação: STABLE_BETA, EXPERIMENTAL, PARTIAL, INTERNAL, UNAVAILABLE. As flags que são interpretadas mas não fazem nada estão marcadas como ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT. Nada é considerado validado em runtime, a menos que o estado da validação em runtime o indique.
Quem lê o quê#
| Público | Começar aqui | Depois |
|---|---|---|
| Utilizadores (CLI, atalhos, perfis de sessão) | Instalação, Primeira sessão | Referência da CLI, Exemplos da CLI, Perfis de sessão, Área de notificação 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, Controlo de runtime, Capacidades, Controlo local / IPC, Referência de erros |
| Responsáveis pela manutenção (lançamento, validação, limites) | Empacotamento, Modelo de plugin permanente | Transações e recuperação, Compatibilidade, Limitações conhecidas, Estado da validação em runtime |
Navegação#
| Página | Finalidade |
|---|---|
| Primeiros passos | Planear, iniciar, observar e parar uma sessão a partir da raiz do OMSI. |
| Instalação | Pré-requisitos, extração do pacote para a raiz do OMSI, verificação com /version, remoção limpa. |
| Início rápido da API pública | Um programa .NET completo que planeia, 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 a copiar e colar para tarefas comuns. |
| Referência do LaunchSpec | Todas as propriedades e valores de enumeração de LaunchSpec, regras de carregamento JSON para /spec. |
| Referência dos 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 enumerações 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. |
| Controlo de runtime | Canal de comandos de runtime, timeouts, handles, semântica de paragem. |
| Referência de capacidades | Catálogo de capacidades e todos os ids públicos de operações de runtime, com a respetiva classificação. |
| Ciclo de vida da sessão | Transições de SessionState, o que StartSessionAsync garante, como termina uma sessão. |
| Transações e recuperação | Estados do journal, cópias de segurança, verificação do restauro, eliminações da sessão, recuperação após falha. |
| Modelo de plugin permanente | O conjunto fechado plugins\OmsiLaunch.*, integridade baseada no manifesto, o que uma sessão nunca toca. |
| Controlo 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 consola): diferenças em relação a OmsiLaunch.exe, /silent, caixas de diálogo, códigos de saída. |
| Área de notificação do Windows | Indicador na área de notificação: ícone, menu, janela de estado campo a campo, End session, reinício do Explorador. |
| 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 do bootstrapper de 100 a 106. |
| Empacotamento / estrutura da instalação | Ficheiros no ZIP de lançamento, release-manifest.json, estrutura de .omsilaunch\. |
| Compatibilidade / builds do OMSI suportadas | O único hash de Omsi.exe suportado, o hash Steam LAA aceite, requisitos de plataforma. |
| Limitações conhecidas | O que não é suportado, é parcial ou constitui um risco aceite nesta beta. |
| Estado da validação em runtime | O que foi executado sob o OMSI, o que só foi executado offline, o que ainda precisa de uma sessão real. |
Páginas na raiz do repositório que se mantêm normativas para os responsáveis pela manutenção: 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. Estas 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 (verificação obrigatória), 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 | Cada entrada de CliInput.KnownFlags aparece na referência da CLI como `/flag` ou `/flag:`; cada entrada de CliInput.AcceptedNoEffectFlags está marcada como ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT na sua linha; cada palavra de comando e cada rota de CliInput.HierarchicalRoutes aparece com a respetiva operação de runtime; cada valor de PublicExitCode tem uma linha | n | na tabela de códigos de saída. |
docs.capabilities | Cada id de PublicCapabilityRegistry.All, cada entrada de PublicCapabilityRegistry.PublicRuntimeOperationIds e cada nome de PublicCapabilityClassification aparece na referência de capacidades. |
docs.errors | Cada 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 | Cada tipo exportado de OmsiLaunch.Api, cada valor de enumeração e cada membro de IOmsiLaunch aparece na referência da API pública, e as cinco palavras de estabilidade são todas usadas. |
docs.launchspec | Cada propriedade pública alcançável a partir de LaunchSpec e cada valor das suas enumerações aparece na referência do LaunchSpec. |
docs.session-profiles | Cada chave de SessionProfileCompiler.SchemaKeys, o identificador do esquema e o limite de 256 KiB aparecem na referência dos perfis de sessão. |
docs.structure | Cada página da tabela de navegação existe. |
docs.links | Cada ligação relativa em docs\**\*.md (excluindo docs\localized\) e nos ficheiros *.md da raiz resolve para um ficheiro ou diretório. |
docs.localization | Cada locale listado em docs\localized\LOCALIZATION-MANIFEST.md tem todas as páginas do conjunto localizado; cada página mantém os cabeçalhos, as tabelas e os blocos de código da página inglesa, todos os spans de código inline (flags, ids de capacidades e de operações, códigos de erro, chaves, identificadores) e todas as ligações, e as suas ligações relativas resolvem. |
O gate é uma das suites executadas por tools\Invoke-OfflineValidation.ps1 (pode ser ignorado com -SkipDocs). É executado offline, nunca lança o OMSI e faz falhar a build quando uma flag, rota, capacidade, código de erro, valor de enumeração ou tipo público não está documentado ou quando uma ligação está partida. Não verifica a prosa, pelo que uma página pode ainda estar errada quanto ao comportamento; nesse caso, deve reportar-se um erro contra a 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 dos locales e as páginas que intencionalmente não sã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 inglesas, e o gate docs.localization verifica-o. As páginas inglesas continuam a ser a fonte normativa: quando uma tradução diverge delas, a página inglesa e o código prevalecem, e a tradução contém um erro.