Modulersteller
Manifest, Vermögenswerte und Fähigkeiten
Beschreiben Sie ein Modul, ohne dem Paketcode direkte Autorität über Fabled zu erteilen.
Das kanonische Manifest
Der kanonische Dateiname ist fabled.module.json. Die CLI kann die alte Datei „fabled-module.json“ nur lesen, wenn die kanonische Datei fehlt. ein Projekt, das beides enthält, wird abgelehnt. manifestVersion ist derzeit 1, Paket-IDs lauten „publisher-id.module-slug“ und Releases verwenden exakte semantische Versionen.
- Identität: ID, Name, Beschreibung, Version, Herausgeber und Lizenz.
- Kompatibilität: fabledApi plus minimale, verifizierte und optionale maximale Fabled-Versionen; gameSystems kann * oder explizite System-IDs enthalten.
- Laufzeit: Laufzeitebene, Ziele, Aktivierungsereignisse, Beiträge, angeforderte Berechtigungen, Beziehungen und Datenschutzerklärungen.
- Status: dataSchemaVersion mit optionalem Speicher, Migrationen und Serviceverträgen.
- Paketdaten: Jedes Asset deklariert einen sicheren relativen Pfad, Typ, Bytelänge und einen SHA-256-Digest in Kleinbuchstaben; Gebietsschemas ordnen BCP-47-Tags Gebietsschema-Assets zu.
Ziele und Beiträge
| Modell | Aktuelle v1-Werte |
|---|---|
| Ziele | Konto, Kampagne, VTT, Charakter, Schmiede |
| Beiträge | Befehle, Befehlsplatzierungen, Bedienfelder, VTT-Effekte, Inhaltspakete, Ereignishandler, Echtzeitthemen, Einstellungen |
| Platzierungsplätze | globaler Befehl, Chat-Composer, Kampagnenblatt/-einstellungen, Charakteraktion/-blatt, VTT-Symbolleiste/Kontextmenü/Auswahl-Overlay |
| Laufzeitebenen | deklarativ, autorisierendDeklarativ, workerPreview, serverPreview |
Fordern Sie den kleinsten Leistungsumfang an
Berechtigungen sind Anfragen, keine Autorität. Für jede erforderliche oder optionale Funktion ist ein spezifischer, für Menschen lesbarer Grund erforderlich. Fabled überprüft, ob die Funktion vorhanden ist, für die ausgewählte Ziel- und Laufzeitebene verfügbar ist und über die erforderliche Konto-, Benutzer-, Kampagnen- oder kombinierte Zustimmung verfügt.
- Beispiele lesen: sichtbare oder eigene Inhalte/Elemente, Kampagnenzusammenfassung, sichtbare Szene, kontrollierte oder sichtbare Token, Präsenz, sichtbarer Chat und Würfel, Modulzustand und eigene Einstellungen.
- Aktionsbeispiele: Selbstwürfelwürfe, Benutzer-Chat-Beiträge, kontrollierter Framework-Aufruf, Kampagnen-Audio/VTT-Effekte, Token-/Tür-/Nebel-/Initiative-Schreibvorgänge, bereichsbezogene Einstellungen, moduleigener Speicher und Modul-Echtzeitveröffentlichung.
- network.fetch.declared existiert im Katalog, ist aber derzeit nicht verfügbar und hat keine zugelassenen Ziele.
Assets, Einstellungen, Speicher und Dienste
JSON-Automatisierung, Inhalt, Effekt, Frame, Gebietsschema, Schema und Migrationsressourcen sind strukturell begrenzt. Binärbild, Audio, Worker, WebAssembly und andere Assets bleiben Paketdaten, es sei denn, ein überprüfter Host-/Laufzeitvertrag verbraucht sie.
- Einstellungen können geräte-, konto-, kampagnen- oder benutzerkampagnenbezogen sein und boolesche, ganzzahlige, numerische, Zeichenfolgen- oder Farbwerte verwenden.
- Der Speicher kann geräte-, konto-, kampagnen-, benutzer-, szenen- oder entitätsbezogen sein, fordert bis zu 5 MiB an und deklariert „Löschen bei Deinstallation“ oder 30-tägige Aufbewahrung.
- Änderungen der Datenschemaversion erfordern zusammenhängende, begrenzte, idempotente Migrationsressourcen.
- Bereitgestellte und genutzte Dienste deklarieren Versionen, Schemata, Vorgänge, Befehle und erforderliche Funktionen; Ein Verbraucher kann sich die Autorität eines Anbieters nicht leihen.