Saltar al contenido principal
Fabled

Creador del módulo

Manifiesto, activos y capacidades

Describe un módulo sin otorgar autoridad directa al código del paquete sobre Fabled.

El manifiesto canónico

El nombre de archivo canónico es fabled.module.json. La CLI puede leer el fabled-module.json heredado solo cuando el archivo canónico está ausente; un proyecto que contiene ambos es rechazado. manifestVersion es actualmente 1, los identificadores de paquete son publisher-id.module-slug y los lanzamientos utilizan versiones semánticas exactas.

  • Identidad: id, nombre, descripción, versión, editor y licencia.
  • Compatibilidad: fabledApi más versiones mínimas, verificadas y máximas opcionales de Fabled; gameSystems puede contener * o identificadores explícitos del sistema.
  • Tiempo de ejecución: runtimeTier, objetivos, activationEvents, contribuciones, permisos solicitados, relaciones y declaraciones de privacidad.
  • Estado: dataSchemaVersion con almacenamiento opcional, migraciones y contratos de servicio.
  • Datos del paquete: cada recurso declara una ruta relativa segura, tipo, longitud de bytes y resumen SHA-256 en minúsculas; Las configuraciones regionales asignan etiquetas BCP-47 a recursos locales.

Objetivos y contribuciones

ModeloValores actuales de v1
Objetivoscuenta, campaña, vtt, personaje, fragua
Contribucionescomandos, ubicaciones de comandos, paneles, efectos VTT, paquetes de contenido, controladores de eventos, temas en tiempo real, configuraciones
Espacios de ubicacióncomando global, Chat compositor, hoja de campaña/settings, acción de personaje/sheet, VTT barra de herramientas/context menú/selection superpuesto
Niveles de tiempo de ejecucióndeclarativa, authoritativeDeclarative, workerPreview, serverPreview

Solicitar el sobre de capacidad más pequeño

Los permisos son solicitudes, no autoridad. Cada capacidad requerida u opcional necesita un motivo específico legible por humanos. Fabled valida que la capacidad existe, está disponible para el objetivo y el nivel de tiempo de ejecución seleccionados y tiene la cuenta, el usuario, la campaña o el consentimiento combinado necesarios.

  • Leer ejemplos: contenido visible o propio/elements, resumen de campaña, escena visible, tokens controlados o visibles, presencia, Chat y dados visibles, estado del módulo y configuración propia.
  • Ejemplos de acciones: tiradas de dados propias, publicaciones de Chat de usuarios, invocación de marco controlado, efectos de audio de campaña/VTT, escrituras de tokens/door/fog/initiative, configuraciones de ámbito, almacenamiento propiedad del módulo y publicación en tiempo real del módulo.
  • network.fetch.declared existe en el catálogo pero actualmente no está disponible y no tiene objetivos admitidos.

Activos, configuraciones, almacenamiento y servicios

JSON los activos de automatización, contenido, efecto, marco, configuración regional, esquema y migración están delimitados estructuralmente. La imagen binaria, el audio, el trabajador, WebAssembly y otros recursos siguen siendo datos del paquete a menos que un contrato de host/runtime revisado los consuma.

  • La configuración puede tener un alcance de dispositivo, cuenta, campaña o userCampaign y usar valores booleanos, enteros, numéricos, de cadena o de color.
  • El almacenamiento puede tener alcance de dispositivo, cuenta, campaña, userCampaign, escena o entidad, solicita hasta 5 MiB y declara eliminación al desinstalar o retención de 30 días.
  • Los cambios en la versión del esquema de datos requieren activos de migración contiguos, delimitados e idempotentes.
  • Los servicios proporcionados y consumidos declaran versiones, esquemas, operaciones, comandos y capacidades requeridas; un consumidor no puede tomar prestada la autoridad de un proveedor.