Pular para o conteúdo principal
Fabled

Criador do Módulo

Manifesto, ativos e recursos

Descreva um módulo sem dar autoridade direta ao código do pacote sobre Fabled.

O manifesto canônico

O nome do arquivo canônico é fabled.module.json. A CLI pode ler o legado fabled-module.json somente quando o arquivo canônico está ausente; um projeto contendo ambos é rejeitado. manifestVersion é atualmente 1, os IDs dos pacotes são publisher-id.module-slug e as versões usam versões semânticas exatas.

  • Identidade: id, nome, descrição, versão, editor e licença.
  • Compatibilidade: fabledApi mais versões mínimas, verificadas e máximas opcionais do Fabled; gameSystems pode conter * ou IDs de sistema explícitos.
  • Tempo de execução: runtimeTier, alvos, activateEvents, contribuições, permissões solicitadas, relacionamentos e declarações de privacidade.
  • Estado: dataSchemaVersion com armazenamento opcional, migrações e contratos de serviço.
  • Dados do pacote: cada ativo declara um caminho relativo seguro, tipo, comprimento de byte e resumo SHA-256 em minúsculas; localidades mapeiam tags BCP-47 para ativos de localidade.

Metas e contribuições

ModeloValores atuais de v1
Metasconta, campanha, vtt, personagem, forja
Contribuiçõescomandos, posicionamentos de comandos, painéis, efeitos VTT, pacotes de conteúdo, manipuladores de eventos, tópicos em tempo real, configurações
Locais de veiculaçãocomando global, compositor de bate-papo, painel/configurações de campanha, ação/folha de personagem, barra de ferramentas VTT/menu de contexto/sobreposição de seleção
Camadas de tempo de execuçãodeclarativo, autoritativoDeclarativo, trabalhadorPreview, serverPreview

Solicite o menor envelope de capacidade

As permissões são solicitações, não autoridade. Cada recurso obrigatório ou opcional precisa de um motivo específico legível por humanos. Fabled valida que o recurso existe, está disponível para o destino selecionado e o nível de tempo de execução e tem a conta, o usuário, a campanha ou o consentimento combinado necessários.

  • Leia exemplos: conteúdo/elementos visíveis ou de propriedade, resumo da campanha, cena visível, tokens controlados ou visíveis, presença, bate-papo e dados visíveis, integridade do módulo e configurações próprias.
  • Exemplos de ações: lançamentos de autodados, postagens de bate-papo do usuário, invocação de estrutura controlada, efeitos de áudio/VTT de campanha, gravações de token/porta/névoa/iniciativa, configurações de escopo, armazenamento de propriedade do módulo e publicação em tempo real do módulo.
  • network.fetch.declared existe no catálogo, mas está indisponível no momento e não tem alvos admitidos.

Ativos, configurações, armazenamento e serviços

Automação JSON, conteúdo, efeito, quadro, localidade, esquema e ativos de migração são estruturalmente limitados. Imagem binária, áudio, trabalhador, WebAssembly e outros ativos permanecem dados do pacote, a menos que um contrato de host/tempo de execução revisado os consuma.

  • As configurações podem ter escopo de dispositivo, conta, campanha ou userCampaign e usar valores booleanos, inteiros, números, strings ou cores.
  • O armazenamento pode ter escopo de dispositivo, conta, campanha, userCampaign, cena ou entidade, solicita até 5 MiB e declara exclusão na desinstalação ou retenção de 30 dias.
  • As alterações na versão do esquema de dados exigem ativos de migração contíguos, limitados e idempotentes.
  • Serviços fornecidos e consumidos declaram versões, esquemas, operações, comandos e capacidades necessárias; um consumidor não pode pedir emprestado a autoridade de um fornecedor.