Documentação do OmsiLaunch

Documentação da versão v0.1.0-beta.3Ver código-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: 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áginaFinalidade
Primeiros passosPlanear, iniciar, observar e parar uma sessão a partir da raiz do OMSI.
InstalaçãoPré-requisitos, extração do pacote para a raiz do OMSI, verificação com /version, remoção limpa.
Início rápido da API públicaUm programa .NET completo que planeia, 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 a copiar e colar para tarefas comuns.
Referência do LaunchSpecTodas as propriedades e valores de enumeração de LaunchSpec, regras de carregamento JSON para /spec.
Referência dos perfis de sessãoEsquema omsilaunch.session-profile/v1 de profile.yaml, chaves, limites, precedência.
Referência da API públicaIOmsiLaunch, records e enumerações públicos, estabilidade por membro.
Inventário da API públicaLista gerada de todos os tipos e membros públicos, com assinatura e estabilidade.
Controlo de runtimeCanal de comandos de runtime, timeouts, handles, semântica de paragem.
Referência de capacidadesCatálogo de capacidades e todos os ids públicos de operações de runtime, com a respetiva classificação.
Ciclo de vida da sessãoTransições de SessionState, o que StartSessionAsync garante, como termina uma sessão.
Transações e recuperaçãoEstados do journal, cópias de segurança, verificação do restauro, eliminações da sessão, recuperação após falha.
Modelo de plugin permanenteO conjunto fechado plugins\OmsiLaunch.*, integridade baseada no manifesto, o que uma sessão nunca toca.
Controlo 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 consola): diferenças em relação a OmsiLaunch.exe, /silent, caixas de diálogo, códigos de saída.
Área de notificação do WindowsIndicador na área de notificação: ícone, menu, janela de estado campo a campo, End session, reinício do Explorador.
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 do bootstrapper de 100 a 106.
Empacotamento / estrutura da instalaçãoFicheiros no ZIP de lançamento, release-manifest.json, estrutura de .omsilaunch\.
Compatibilidade / builds do OMSI suportadasO único hash de Omsi.exe suportado, o hash Steam LAA aceite, requisitos de plataforma.
Limitações conhecidasO que não é suportado, é parcial ou constitui um risco aceite nesta beta.
Estado da validação em runtimeO 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:

GateVerifica
docs.cli-flagsCada 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.capabilitiesCada id de PublicCapabilityRegistry.All, cada entrada de PublicCapabilityRegistry.PublicRuntimeOperationIds e cada nome de PublicCapabilityClassification aparece na referência de capacidades.
docs.errorsCada 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-apiCada 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.launchspecCada propriedade pública alcançável a partir de LaunchSpec e cada valor das suas enumerações aparece na referência do LaunchSpec.
docs.session-profilesCada chave de SessionProfileCompiler.SchemaKeys, o identificador do esquema e o limite de 256 KiB aparecem na referência dos perfis de sessão.
docs.structureCada página da tabela de navegação existe.
docs.linksCada ligação relativa em docs\**\*.md (excluindo docs\localized\) e nos ficheiros *.md da raiz resolve para um ficheiro ou diretório.
docs.localizationCada 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.