Creatore di moduli
Manifesto, risorse e capacità
Descrive un modulo senza dare autorità diretta al codice del pacchetto su Fabled.
Il manifesto canonico
Il nome file canonico è fabled.module.json. La CLI può leggere il legacy fabled-module.json solo quando il file canonico è assente; un progetto che li contiene entrambi viene rifiutato. manifestVersion è attualmente 1, gli ID dei pacchetti sono publisher-id.module-slug e le versioni utilizzano versioni semantiche esatte.
- Identità: ID, nome, descrizione, versione, editore e licenza.
- Compatibilità: fabledApi più versioni Fabled minima, verificata e massima opzionale; gameSystems può contenere * o ID di sistema espliciti.
- Runtime: livello runtime, destinazioni, eventi di attivazione, contributi, autorizzazioni richieste, relazioni e dichiarazioni sulla privacy.
- Stato: dataSchemaVersion con archiviazione, migrazioni e contratti di servizio opzionali.
- Dati del pacchetto: ogni risorsa dichiara un percorso relativo, un tipo, una lunghezza in byte e un digest SHA-256 minuscolo sicuro; le impostazioni locali mappano i tag BCP-47 sulle risorse locali.
Obiettivi e contributi
| Modello | Valori v1 attuali |
|---|---|
| Obiettivi | account, campagna, vtt, personaggio, forgia |
| Contributi | comandi, posizionamento dei comandi, pannelli, effetti VTT, pacchetti di contenuti, gestori di eventi, argomenti in tempo reale, impostazioni |
| Spazi di posizionamento | comando globale, compositore chat, pannello/impostazioni campagna, foglio/azione personaggio, barra degli strumenti VTT/menu contestuale/overlay di selezione |
| Livelli di runtime | dichiarativo, autorevoleDichiarativo, lavoratorePreview, serverPreview |
Richiedi la capacità più piccola
Le autorizzazioni sono richieste, non autorità. Ogni funzionalità richiesta o opzionale necessita di un motivo specifico leggibile dall'uomo. Fabled verifica che la funzionalità esista, sia disponibile per la destinazione e il livello di runtime selezionati e disponga dell'account, dell'utente, della campagna o del consenso combinato richiesti.
- Leggi esempi: contenuti/elementi visibili o di proprietà, riepilogo della campagna, scena visibile, token controllati o visibili, presenza, chat e dadi visibili, integrità del modulo e impostazioni personalizzate.
- Esempi di azioni: tiri di dado personali, post di chat degli utenti, invocazione di framework controllati, effetti audio/VTT della campagna, scritture token/porta/nebbia/iniziativa, impostazioni con ambito, archiviazione di proprietà del modulo e pubblicazione in tempo reale del modulo.
- network.fetch.declared esiste nel catalogo ma al momento non è disponibile e non ha target ammessi.
Risorse, impostazioni, spazio di archiviazione e servizi
Le risorse di automazione, contenuto, effetto, frame, impostazioni locali, schema e migrazione JSON sono strutturalmente delimitate. Immagine binaria, audio, lavoratore, WebAssembly e altre risorse rimangono dati del pacchetto a meno che non vengano utilizzati da un contratto host/runtime rivisto.
- Le impostazioni possono avere come ambito dispositivo, account, campagna o utenteCampaign e utilizzare valori booleani, interi, numerici, stringhe o colori.
- Lo spazio di archiviazione può avere ambito dispositivo, account, campagna, campagna utente, scena o entità, richiede fino a 5 MiB e dichiara l'eliminazione alla disinstallazione o la conservazione per 30 giorni.
- Le modifiche alla versione dello schema dei dati richiedono asset di migrazione contigui, limitati e idempotenti.
- I servizi forniti e utilizzati dichiarano versioni, schemi, operazioni, comandi e funzionalità richieste; un consumatore non può prendere in prestito l'autorità di un fornitore.