Twórca modułu
Manifest, zasoby i możliwości
Opisz moduł bez podawania kodu pakietu bezpośredniej władzy nad Fabled.
Manifest kanoniczny
Kanoniczna nazwa pliku to fabled.module.json. Interfejs CLI może odczytać starszy plik fabled-module.json tylko wtedy, gdy nie ma pliku kanonicznego; projekt zawierający oba zostaje odrzucony. manifestVersion to obecnie 1, identyfikatory pakietów to publisher-id.module-slug, a wydania używają dokładnych wersji semantycznych.
- Tożsamość: identyfikator, nazwa, opis, wersja, wydawca i licencja.
- Kompatybilność: fabledApi plus minimalna, zweryfikowana i opcjonalna maksymalna wersja Fabled; gameSystems może zawierać * lub jawne identyfikatory systemowe.
- Środowisko wykonawcze: poziom środowiska wykonawczego, cele, zdarzenia aktywacyjne, wkłady, wymagane uprawnienia, relacje i deklaracje prywatności.
- Stan: dataSchemaVersion z opcjonalnym magazynem, migracjami i umowami serwisowymi.
- Dane pakietu: każdy zasób deklaruje bezpieczną ścieżkę względną, typ, długość bajtu i skrót SHA-256 małymi literami; locales mapują znaczniki BCP-47 na zasoby locale.
Cele i wkład
| Model | Bieżące wartości wersji 1 |
|---|---|
| Cele | konto, kampania, vtt, postać, kuźnia |
| Wkłady | polecenia, rozmieszczenie poleceń, panele, efekty VTT, pakiety zawartości, obsługa zdarzeń, tematy w czasie rzeczywistym, ustawienia |
| Miejsca docelowe | polecenie globalne, kompozytor czatu, blok/ustawienia kampanii, akcja/arkusz postaci, pasek narzędzi VTT/menu kontekstowe/nakładka wyboru |
| Poziomy środowiska wykonawczego | deklaratywny, autorytatywnyDeclarative, workerPreview, ServerPreview |
Poproś o najmniejszą kopertę możliwości
Uprawnienia to żądania, a nie uprawnienia. Każda wymagana lub opcjonalna funkcja wymaga konkretnego, czytelnego dla człowieka powodu. Fabled sprawdza, czy taka możliwość istnieje, jest dostępna dla wybranego poziomu docelowego i środowiska wykonawczego oraz czy posiada wymagane konto, użytkownika, kampanię lub łączną zgodę.
- Przeczytaj przykłady: widoczne lub posiadane treści/elementy, podsumowanie kampanii, widoczna scena, kontrolowane lub widoczne tokeny, obecność, widoczny czat i kości, stan modułu i własne ustawienia.
- Przykłady działań: samodzielne rzuty kostką, posty na czacie użytkowników, kontrolowane wywoływanie frameworka, efekty audio/VTT kampanii, zapisy tokenów/drzwi/mgły/inicjatyw, ustawienia zakresu, pamięć należąca do modułu i publikowanie modułów w czasie rzeczywistym.
- plik network.fetch.declared istnieje w katalogu, ale jest obecnie niedostępny i nie ma dopuszczonych celów.
Zasoby, ustawienia, pamięć i usługi
Automatyzacja JSON, treść, efekt, ramka, ustawienia regionalne, schemat i zasoby migracji są strukturalnie ograniczone. Obraz binarny, dźwięk, proces roboczy, zestaw WebAssembly i inne zasoby pozostają danymi pakietu, chyba że zostaną zużyte przez sprawdzoną umowę hosta/środowiska wykonawczego.
- Ustawienia mogą obejmować urządzenie, konto, kampanię lub kampanię użytkownika i wykorzystywać wartości logiczne, całkowite, liczbowe, ciągi znaków lub kolory.
- Pamięć może obejmować urządzenie, konto, kampanię, kampanię użytkownika, scenę lub jednostkę, żądać do 5 MiB i deklarować usunięcie po odinstalowaniu lub przechowywanie przez 30 dni.
- Zmiany wersji schematu danych wymagają ciągłych, ograniczonych i idempotentnych zasobów migracji.
- Dostarczone i wykorzystane usługi deklarują wersje, schematy, operacje, polecenia i wymagane możliwości; konsument nie może pożyczyć władzy dostawcy.