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
| Modelo | Valores atuais de v1 |
|---|---|
| Metas | conta, campanha, vtt, personagem, forja |
| Contribuições | comandos, posicionamentos de comandos, painéis, efeitos VTT, pacotes de conteúdo, manipuladores de eventos, tópicos em tempo real, configurações |
| Locais de veiculação | comando 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ção | declarativo, 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.