Tworzenie tapet AetherWall 0.5

Minimalna paczka

ZIP ma w katalogu głównym wallpaper.json, index.html oraz CSS/JS. Opcjonalna miniatura to preview.png (maks. 3 MB, do 16 mln pikseli). HTML jest otwierany w WebView2. Nie wymaga serwera ani node_modules. Limit paczki: 100 MB po rozpakowaniu, 1500 plików. Nie są obsługiwane ZIP64, szyfrowanie, dowiązania ani ścieżki wychodzące poza paczkę. Używaj nazw plików UTF-8.

{
 "id":"moja-tapeta",
 "title":"Moja tapeta",
 "author":"Twoja nazwa",
 "description":"Opis tapety",
 "entry":"index.html",
 "version":1,
 "supportsWidgets":true,
 "display":{"width":1920,"height":1080,"minWidth":1280,"minHeight":720,"responsive":true,"aspectRatios":["16:9","16:10","21:9"]},
 "properties":[
  {"key":"accent","label":"Kolor akcentu","type":"color","default":"#8FCCF0"},
  {"key":"speed","label":"Szybkość","type":"slider","min":0,"max":100,"step":1,"default":40},
  {"key":"effects","label":"Efekty","type":"bool","default":true},
  {"key":"caption","label":"Podpis","type":"text","default":"Witaj"},
  {"key":"mode","label":"Motyw","type":"choice","options":["Ciemny","Jasny"],"default":"Ciemny"}
 ]
}

id: małe litery, cyfry i myślniki, do 64 znaków. entry musi wskazywać istniejący HTML. Maks. 64 właściwości. Klucz właściwości zaczyna się literą, potem litery, cyfry lub _, maks. 64 znaki. Wartości domyślne muszą zgadzać się z typem i zakresem. Nie umieszczaj danych użytkownika w paczce.

Właściwości i SDK

Host wywołuje listener po wczytaniu dokumentu i po zatwierdzeniu zmian:

window.wallpaperPropertyListener = {
 applyUserProperties(properties) {
  if (properties.accent) document.documentElement.style.setProperty('--accent', properties.accent.value);
 }
};

Alternatywnie słuchaj zdarzenia aetherwall-properties. event.detail zawiera obiekty {value: ...}. Ostatnie ustawienia są w window.aetherWallProperties. Parametry zapisywane są osobno dla tapety i monitora. Dołączona biblioteka aetherwall-sdk.js daje onProperties, onPerformance, onEditMode oraz save/load. Działa też w zwykłej przeglądarce z ograniczonym zakresem funkcji.

Rozdzielczość i wiele ekranów

Używaj CSS procentowego, grid/flex i resize/ResizeObserver. Obliczaj rozmiar canvas z jego kontenera. W trybie automatycznym viewport odpowiada rozmiarowi monitora. contain zachowuje proporcje z pasami, cover skaluje i przycina projekt; zoom wpływa na CSS viewport.

Każdy monitor ma osobną instancję przeglądarki i wybór tapety. Ten sam id tapety współdzieli profil przeglądarki i localStorage między ekranami: dokumenty mogą być wspólne. Parametry wyglądu są niezależne dla monitorów. Słuchaj zdarzenia storage, jeśli chcesz synchronizować otwarte widoki tych samych notatek.

supportsWidgets:false wyłącza nakładkę widżetów dla tej tapety. Przełącznik edycji pozostaje dostępny. Widżety programu nie są częścią paczki autora i prywatna treść nie trafia do workshopu.

Pisanie na pulpicie

Używaj zwykłych input, textarea lub contenteditable. Włączona ikona ołówka wynosi tę samą tapetę nad ikony i nadaje jej normalny fokus klawiatury. Esc kończy edycję bez przeładowania. window.aetherWallEditMode oraz zdarzenie aetherwall-edit-mode sygnalizują stan. Nie przechwytuj Escape w fazie capture przed listenerem hosta. Przełącznik można przesuwać w trybie edycji.

Animacja, limit FPS i wydajność

AetherWall ogranicza wywołania requestAnimationFrame do skonfigurowanego FPS. Limit nie obejmuje CSS/WAAPI, WebGL animowanego innymi timerami, wideo ani kompozytora WebView2. Nie ma globalnego twardego limitu FPS WebView2. Płynna, oszczędna tapeta powinna używać jednej pętli RAF, czasu przekazanego do callbacku, DPR ograniczonego do potrzeb i unikać stałych timerów oraz filtrów na całym ekranie.

let previous=0;
function frame(time) {
 const dt=Math.min(.1,(time-previous)/1000);previous=time;
 // Aktualizuj scenę na podstawie dt, nie liczby klatek.
 requestAnimationFrame(frame);
}
requestAnimationFrame(frame);
window.addEventListener('aetherwall-performance', e => {
 const {fps,reducedMotion}=e.detail;
 // Dostosuj liczbę cząstek lub efekty.
});

window.aetherWallPerformance ma fps i reducedMotion. Obsługuj także prefers-reduced-motion. Pauza hosta wstrzymuje WebView2 i odbiór audio; po powrocie dt może być duże, dlatego ograniczaj skok czasu. Profil oszczędny ogranicza RAF i częstotliwość FFT. Ustawienie renderer CPU/GPU zaczyna działać po restarcie. Tryb CPU nie gwarantuje mniejszego zużycia zasobów.

Audio i multimedia

Opcjonalnie wywołaj wallpaperRegisterAudioListener(samples => ...). samples ma 128 wartości [0,1]; pierwsze 64 to widmo, drugie 64 zdublowane. Obecny silnik analizuje pierwszy kanał domyślnego wyjścia audio. Nie używa mikrofonu. Częstotliwość zdarzeń zależy od ustawienia audio; funkcja może nie wysyłać próbek, gdy analiza jest wyłączona lub tapeta wstrzymana.

Opcjonalne funkcje wallpaperRegisterMediaPropertiesListener, wallpaperRegisterMediaThumbnailListener, wallpaperRegisterMediaTimelineListener, wallpaperRegisterMediaPlaybackListener i wallpaperRegisterMediaStatusListener przekazują informacje z sesji multimediów Windows. Rejestracja uruchamia potrzebny most. W standardowej przeglądarce sprawdzaj istnienie funkcji przed wywołaniem.

Zapis, sieć i uprawnienia

localStorage/IndexedDB są trwałe w profilu id tapety. Nie zapisuj plików w katalogu paczki. Przeglądarka może korzystać z sieci, lecz uprawnienia urządzeń i pobieranie plików są blokowane. Nowe okna i nawigacja poza lokalny origin są blokowane. Tapety zawierają kod wykonywalny autora; suma SHA-256 zapewnia integralność paczki, a nie zaufanie do jej treści. Nie umieszczaj sekretów w JS.

Publikacja

Workshop: https://0707.pl/soft/aetherwall/api/catalog.json

Załóż konto twórcy w creator.html i aktywuj je e-mailem. Publikacje i aktualizacje trafiają do moderacji; są publiczne po zatwierdzeniu. Serwer kontroluje ZIP, ścieżki, manifest, miniaturę i SHA-256. Konto właściciela jest przypisane do ID projektu; inny twórca nie może opublikować jego aktualizacji. Administrator ma uprawnienia zarządzania. Publikacja z aplikacji przy użyciu klucza administratora pozostaje dostępna.

API: GET api/catalog.json?q=...&sort=newest|popular; GET api/packages/{id}.zip; POST api/publish (surowy ZIP) z X-Workshop-Token, X-Title, X-Author, X-Description (trzy teksty URL-encoded); DELETE api/packages/{id} z X-Workshop-Token. Lista zwraca url, sha256, preview, created, size, downloads, version, creatorId, rating i ratingCount. Katalog pokazuje najnowszą zatwierdzoną wersję każdego ID. Licznik pobrań obejmuje żądania pliku, nie unikalnych użytkowników.

Weryfikacja przed publikacją

Sprawdź minimum 1280×720, 1920×1080, ultrawide i pionowy viewport, wszystkie właściwości i ich reset, wpisywanie tekstu z polskimi znakami, brak sieci, pauzę i wznowienie oraz limit RAF. Upewnij się, że ZIP nie zawiera Data, kluczy, prywatnych notatek ani testów. Przykład działającej tapety jest w Wallpapers/aurora.

Projekty MP4 (od wersji 0.6)

Importuj bezpośrednio MP4 w Bibliotece. Program kopiuje film i tworzy projekt wideo; nie potrzebujesz index.html ani własnego kodu strony. Film pozostaje niezmieniony, bez konwersji. Odtwarzacz programu obsługuje pętlę, wyciszenie, głośność, prędkość, dopasowanie, jasność, kontrast, nasycenie, rozmycie, kolor, cząsteczki, poświatę reagującą na systemowe audio oraz ruch za kursorem. Widżety i edycja pulpitu działają także z MP4. Efekty nie tworzą prawdziwej głębi 3D filmu ani animacji obiektów z nieruchomego obrazu.

Minimalny manifest paczki wideo:

{"id":"moj-film","title":"Mój film","author":"Autor","description":"Tapeta wideo","entry":"video.mp4","version":1,"type":"video","supportsWidgets":true}

Paczka zawiera wallpaper.json i video.mp4, opcjonalnie preview.png. Brak properties automatycznie udostępnia parametry odtwarzacza. Jeśli podajesz properties, użyj kluczy loop, muted, volume, speed, videoFit, brightness, contrast, saturation, blur, tint, tintStrength, particles, particleCount, audioReactive, parallax zgodnie z Modern/VideoProject.cs. Stare paczki HTML nadal działają, type domyślnie wynosi web.

Dla największej zgodności użyj MP4 z H.264 (AVC) i opcjonalnym AAC. Samo rozszerzenie MP4 nie gwarantuje zgodnego kodeka. Film pauzuje wraz z tapetą. Limit animacji JS ogranicza dodatkowe cząsteczki, nie liczbę klatek zdekodowanego filmu. Tryb ograniczonego ruchu wyłącza animowane efekty i parallax, lecz film nadal jest odtwarzany. Reakcja na audio wymaga włączonej analizy audio w ustawieniach programu. Ruch kursora na pulpicie działa w miejscach niezasłoniętych ikonami.

Bezpośredni import lokalnego MP4 nie ma limitu 100 MB. Workshop zachowuje limit 100 MB paczki i rozpakowanych danych; przed publikacją dłuższy film trzeba zoptymalizować. Import kopiuje film do biblioteki, więc wymaga wolnego miejsca na dysku.

Konta twórców i weryfikacja w workshopie (0.7)

W creator.html załóż konto, aktywuj je linkiem otrzymanym e-mailem i zaloguj się. Wgraj ZIP z manifestem i miniaturą. Obsługiwane są projekty HTML i MP4. Autor publikacji pochodzi z konta. Własne zgłoszenia i powody odrzucenia zobaczysz w panelu.

Nowa publikacja otrzymuje status pending; paczka i miniatura są dostępne tylko autorowi i administratorowi. Po zatwierdzeniu przez moderatora pojawia się w katalogu publicznym. Moderator sprawdza działanie, treść i prawa do materiałów. Weryfikacja techniczna kontroluje ZIP, CRC plików, limity, manifest, parametry i niedozwolone pliki wykonywalne; nie jest skanowaniem antywirusowym ani gwarancją bezpieczeństwa JavaScript.

Pięć dodatkowych przykładów w Wallpapers: orbit, rain, horizon, neon, focus. Każdy udostępnia parametry i reaguje na zmianę rozdzielczości; neon może reagować na audio. Ustawienie ograniczenia animacji lub ograniczonego ruchu jest respektowane przez te przykłady.

Projekty JPG i PNG (od wersji 0.7.3)

W aplikacji wybierz **Importuj tapetę** i plik .jpg, .jpeg lub .png. Program kopiuje obraz do biblioteki, tworzy miniaturę i samodzielny projekt. Wybierz docelowy monitor w bibliotece. Parametry obrazu obejmują dopasowanie (Wypełnij, Cały obraz, Rozciągnij), kolor tła, jasność i rozmycie. Widżety działają także na obrazach. Obraz pozostaje statyczny; nie wymaga własnego HTML ani animacji.

Projekt do eksportu ZIP może zawierać wallpaper.json, image.jpg (lub PNG) i opcjonalny preview.png. Minimalny manifest:

{"id":"moj-obraz","title":"Mój obraz","author":"Twórca","description":"Tapeta fotograficzna","type":"image","entry":"image.jpg","version":1,"supportsWidgets":true}

Brak tablicy parametrów w projekcie obrazu oznacza zastosowanie standardowych parametrów. Do publikacji należy mieć prawa do obrazu; projekt podlega zwykłej moderacji workshopu. Import lokalny: maksymalnie 100 MB i 16384 piksele na bok.

Studio efektów obrazu (od wersji 0.8.0)

Zaimportuj JPG/PNG, wybierz projekt i otwórz **Studio efektów obrazu**. Edytor zapisuje scene.json w projekcie. Obsługuje do 16 uporządkowanych efektów: obrót, przepływ, falowanie, poświata, deszcz i rozbryzgi, krople na szybie z refrakcją, mgła, smugi prędkości i paralaksa kursora.

1. Dla koła dodaj **Obrót / koła** i przesuń krzyżyk na środek felgi.

2. Dopasuj promienie X/Y i kąt. Maska może być eliptyczna, także dla koła widzianego pod kątem.

3. Ustaw prędkość w obrotach na minutę; znak zmienia kierunek.

4. Dla chmur i wody wybierz Przepływ lub Falowanie, a potem **Maluj maskę**. Wymazywanie usuwa fragmenty maski. Cofnij/Ponów przywraca zmiany.

5. Dla pogody połącz Deszcz i Krople na szybie, regulując siłę i prędkość. Maska może ograniczać pogodę do wybranego obszaru.

6. Kliknij **Zapisz scenę** (Ctrl+S), aby zapisać projekt i zaktualizować działającą tapetę. Eksport ZIP zawiera obraz, miniaturę i scenę. Nie wymaga programowania HTML.

Silnik używa WebGL2 i kolejnych przebiegów GPU, dzięki czemu późniejsze efekty operują na rezultacie wcześniejszych. Maski malowane są przechowywane jako znormalizowane punkty; atlas masek jest aktualizowany po zmianach. Tryby jakości ograniczają rozdzielczość renderowania do około 0,9 / 2,1 / 4,2 mln pikseli; limit FPS programu, ograniczenie animacji, ukrycie tapety i pauza są respektowane. Obraz bez animowanych efektów nie renderuje stale nowych klatek. Scena ma maksymalnie 8192 punkty masek i 1 MB opisu. Publikacja wymaga AetherWall 0.8.0 lub nowszego u odbiorcy; projekty nie są zgodne z binarnymi scenami Wallpaper Engine.

Przykład:

{"version":1,"animation":true,"quality":"balanced","layers":[{"name":"Koło","type":"spin","enabled":true,"x":0.25,"y":0.7,"radiusX":0.06,"radiusY":0.1,"speed":30,"strength":0.5,"feather":0.15,"angle":0,"color":"#79D9FF","fullImage":false,"strokes":[]}]}

Współrzędne i promienie odnoszą się do oryginalnego obrazu (0–1), nie do monitora. strokes zawiera punkty [x,y,promień,wymazywanie]; wymazywanie ma wartość 0 lub 1. Efekty i sceny są sprawdzane przy imporcie i przez serwer workshopu.

Oś czasu i zestawy efektów (od wersji 0.8.6)

Studio ma gotowe zestawy: Deszcz na szybie, Woda i światło, Nocna poświata oraz Prędkość i mgła. Zestaw dodaje dwie warstwy; dopasuj ich maski i siłę do własnego obrazu.

scene.json może zawierać duration (domyślnie 12), loop (domyślnie true), a każda warstwa keyframes. Klatka ma time w sekundach oraz x, y, speed, strength, angle. Klatki muszą być uporządkowane rosnąco, bez powtórzeń czasu i mieścić się w długości sceny. Parametry mają takie same zakresy jak parametry warstwy. Starsze sceny bez klatek zachowują dotychczasowe działanie. Obrót nadal symuluje ruch płaskiego fragmentu zdjęcia; nie odtwarza geometrii 3D.

Aktualizacje, kolekcje i oceny (0.8.7)

Układ widżetów i panoramy (0.9.0)

Włącz edycję pulpitu ikoną na tapecie. Przesuwaj widżet za nagłówek i zmieniaj rozmiar uchwytem w prawym dolnym rogu. Pasek narzędzi pozwala włączyć siatkę, wyrównać wybrany widżet i zapisać nazwany układ. Wczytanie układu zmienia pozycje i rozmiary, zachowując aktualne notatki i zadania. Przyciskiem Gotowe zakończysz edycję. Można zapisać 20 układów.

Panoramę włączysz w Ustawienia → Ekrany dla projektu wybranego w bibliotece. Jeden renderer pokrywa prostokąt obejmujący rzeczywisty układ monitorów; przestrzenie między ekranami nie są osobnymi obrazami. Responsywne projekty HTML powinny korzystać z rozmiaru viewportu, a obrazy i filmy z dopasowania z przycięciem lub zachowaniem proporcji. Harmonogramy i playlisty pojedynczych ekranów są w panoramie wstrzymane. Ustawienie zwykłej tapety na wybranym monitorze kończy panoramę.

Ustawienia → Aktualizacje zawierają sprawdzanie plików i naprawę przez pobranie aktualnego wydania. Folder Data jest zachowany. Instalator również udostępnia naprawę oraz wybór katalogu.

Studio i publikowanie (0.10.0)

Dla projektu JPG/PNG otwórz Studio efektów. Elipsa i Prostokąt rysują maskę przez przeciągnięcie. Wielokąt tworzy się klikając wierzchołki; Enter albo Zamknij kończy maskę, Escape anuluje. Pędzel dodaje obszary, a Wymazuj odejmuje je również od elips i pełnego obrazu. Maski wielokątne mają maksymalnie 64 punkty. Siła obrotu steruje mieszaniem ruchomej felgi z oryginałem; do pełnego obrotu ustaw 100%.

Podgląd ukrywa oznaczenia maski. Po lewej można wybrać deszcz, śnieg, mgłę lub słońce oraz oświetlenie dzienne, nocne i zachód. Automatyka korzysta z Open-Meteo dla wpisanego miasta, odświeża dane co 15 minut i kończy zapytanie po 12 sekundach. Bez danych pogodowych opady są wyłączone, a automatyczne oświetlenie korzysta z zegara komputera. Tryb Oryginalne zdjęcie zachowuje kolory obrazu.

Przycisk Workshop zapisuje scenę i miniaturę, a następnie otwiera okno publikowania. Uzupełnij tytuł, autora, opis oraz kolejną wersję projektu i klucz twórcy dostępny w panelu aktywowanego konta. Dopiero Wyślij do moderacji przesyła paczkę. Klucz nie jest zapisywany w projekcie. Tapeta staje się publiczna po zatwierdzeniu moderacji.

Scena zachowuje wersję formatu 1; opcjonalne pola weather, daylight i city wymagają aplikacji 0.10.0. Warstwa może mieć polygon: tablicę od 3 do 64 par współrzędnych 0–1. Starsze sceny bez tych pól działają bez zmian.

Pobieranie, podgląd i ustawienia (0.11.0)

W workshopie kliknij Zainstaluj tapetę, wybierz ewentualne ustawienie na monitorze i dodaj projekt do kolejki. Okno wyboru zamyka się, a centrum pobierania pokazuje liczbę zadań, postęp i rozmiar. Możesz kontynuować przeglądanie i dodawać inne projekty. Pobrania są wykonywane pojedynczo, sprawdzane SHA-256 i mają limit 100 MB oraz pięciu minut. Anuluj działa do rozpoczęcia wymiany plików. Nieudane i anulowane pobranie można ponowić. Wyczyść zakończone usuwa historię bieżącej sesji. Zamknięcie programu anuluje pobieranie; kolejka nie jest odtwarzana po restarcie.

Uruchom podgląd na żywo pobiera projekt do osobnego katalogu tymczasowego. Domyślnie dźwięk jest wyłączony; można go włączyć przełącznikiem Dźwięk i wstrzymać podgląd. Zamknięcie okna od razu usuwa kontroler renderera i sprząta pliki tymczasowe. Podgląd nie dodaje projektu do biblioteki ani nie uruchamia analizy dźwięku systemowego lub odczytu danych odtwarzacza. Jego parametry startowe pochodzą z projektu, a prawa do nawigacji, nowych okien, pobierania plików i uprawnień pozostają ograniczone jak w pozostałych tapetach.

W Ustawienia → Wydajność dodaj nazwę aplikacji lub wybierz plik EXE. Reguła działa, gdy proces o tej nazwie jest uruchomiony, na wszystkich ekranach. Wstrzymaj zamraża tapety; Wyłącz renderery zwalnia hosty tapet i pozostawia zwykły pulpit Windows. Wyłączenie ma pierwszeństwo przy kilku pasujących regułach. Po zakończeniu aplikacji tapety wracają z zapisanymi parametrami, przypisaniami monitorów, panoramą i wcześniejszą ręczną pauzą. Reguły można osobno wyłączać i usuwać. Program nie zamyka ani nie uruchamia wskazanych gier.

Panel zasobów pokazuje pomiar CPU, RAM, liczbę hostów tapet i procesów oraz limit animacji JavaScript. Zlicza główny proces aplikacji i skojarzone procesy WebView2, bez podwójnego liczenia procesów wspólnych. Wartości RAM są sumą pamięci roboczej procesów, a CPU procentem całkowitej mocy logicznych procesorów. Szybkie profile stosują ustawienia od razu. Nie jest to pomiar zużycia GPU; filmy i animacje CSS zachowują własne tempo.

W Ustawienia → Ogólne można eksportować i przywracać kopię JSON. Obejmuje ona przypisania ekranów, parametry projektów, profile, playlisty, harmonogramy, reguły gier, widżety z treścią, pozycje przycisków pulpitu, kolekcje oraz preferencje powiadomień. Nie zawiera paczek tapet, kluczy publikacji, kont, danych przeglądarki ani wpisu autostartu w Windows. Brakujące projekty zainstaluj osobno; zapisy odłączonych ekranów są zachowywane. Przywracanie sprawdza format, nazwy i wartości przed zapisem, a błąd wymiany plików cofa zmienione ustawienia. Pozostałe ustawienia projektów, których nie ma w kopii, pozostają na komputerze. Limit kopii wynosi 16 MB. Zmiana renderera GPU/CPU wymaga ponownego uruchomienia.

Studio: warstwy i parametry — 0.12.0

Otwórz projekt JPG/PNG w Studio i wybierz „Importuj obraz JPG/PNG”. Każdy obraz staje się osobną warstwą; przezroczyste PNG nadają się do kół, świateł i innych wyciętych elementów. Studio nie wycina automatycznie obiektów ze zdjęć — przygotuj przezroczysty plik przed importem.

Obrazy są kopiowane do assets/, a scena jest zapisywana w scene.json. Limit wynosi 16 warstw, 32 klatki na warstwę i 48 udostępnianych parametrów. Pojedynczy obraz może mieć do 100 MB i 16384 pikseli na bok; tekstury warstw są ograniczane do 2048 pikseli na bok podczas renderowania, żeby zmniejszyć zużycie pamięci GPU. Oryginalny plik pozostaje w projekcie. Nowe sceny wymagają AetherWall 0.12.0 i WebGL2.

Studio 2 i tapety muzyczne — 0.13.0

„Zaznacz fragment zdjęcia” tworzy maskę pomocniczą. Zaznacz element elipsą, wielokątem lub pędzlem, popraw go wymazywaniem i wybierz „Utwórz przezroczystą warstwę”. Wycięcie kopiuje piksele zdjęcia źródłowego; nie usuwa obiektu z oryginalnego tła i nie generuje brakujących fragmentów. Obraz roboczy jest ograniczony do 4096 pikseli na bok.

Tapety HTML mogą korzystać z wallpaperRegisterAudioListener(callback). Widmo ma 128 wartości: 64 pasma dla lewego i prawego kanału. Od 0.13.3 granice pasma i wynoszą 20 * 1000^(i/64) do 20 * 1000^((i+1)/64) Hz, z uwzględnieniem częstotliwości urządzenia. Bas: indeksy 0–23, środek 24–48, góra 49–63; kanał prawy ma przesunięcie 64. Wygładzanie należy uzależniać od upływu czasu, nie liczby wywołań. Do zakończenia własnej subskrypcji użyj aetherWallRemoveAudioListener(callback), aby inne widżety mogły nadal analizować muzykę. Dane odtwarzacza są dostępne przez słuchacze Properties, Thumbnail, Playback i Timeline. Spotify musi udostępniać sesję multimediów Windows; integracja nie wymaga konta Spotify w AetherWall. Analiza dźwięku obejmuje dźwięk systemowy i nie wysyła go do serwera.

Raport diagnostyczny (0.14.1)

W Ustawienia → Wydajność kliknij „Zapisz raport”, aby przygotować lokalny plik JSON ze stanem rendererów, prób przywracania, ekranów i toru audio. Raport nie zawiera nazw ani plików tapet, notatek i treści muzycznych. Nie jest wysyłany automatycznie; obejrzyj go przed udostępnieniem.

Tryb bezpieczny tapety (0.14.2)

Po trzech awariach renderera w ciągu dwóch minut AetherWall pokazuje statyczną planszę na danym ekranie i przestaje automatycznie wznawiać tę tapetę. W Ustawienia → Wydajność kliknij „Sprawdź ponownie”, aby ponowić uruchomienie, albo wybierz inną tapetę. Pozostałe ekrany działają niezależnie.

Ostatnia klatka podczas odzyskiwania (0.14.3)

Aktywna tapeta przechowuje w pamięci ostatni zrzut obrazu i odświeża go najwyżej co 30 sekund. Gdy renderer ulegnie awarii, AetherWall wyświetla tę klatkę do zakończenia ponownego ładowania. W Ustawienia → Wydajność zobaczysz wiek zapamiętanego obrazu. Zrzut nie jest zapisywany na dysku i znika po zamknięciu tapety. Awaria przed pierwszym zrzutem nadal korzysta ze zwykłego przywracania lub trybu bezpiecznego.

Pamięć tapet (0.14.4)

Ustawienia → Wydajność pokazują pamięć roboczą procesów WebView2 osobno dla projektów. Wspólne procesy są liczone tylko w sumie aplikacji. Próg ostrzegania ustawisz od 256 do 8192 MB na projekt; 0 wyłącza ostrzeżenia. Trzy kolejne odczyty powyżej progu w odstępach 10 sekund wyświetlą ostrzeżenie. To pomiar pamięci roboczej, a nie GPU ani twardy limit: tapeta nie jest automatycznie zatrzymywana.

Automatyczna płynność (0.14.5)

Ustawienia → Wydajność pozwalają włączyć automatyczny limit klatek animacji JavaScript. Na baterii limit wynosi do 20 FPS, przy utrzymującym się obciążeniu CPU do 15 FPS, a pod pełnoekranową aplikacją do 10 FPS, jeśli tapeta nadal działa. Po ustąpieniu obciążenia wraca ręcznie ustawiony limit. Funkcja nie zmienia wideo MP4, animacji CSS ani analizy dźwięku i nie podnosi FPS ponad ustawioną wartość.

Pauza pod zasłoniętymi ekranami (0.14.6)

W Ustawienia → Wydajność → Automatyczna pauza można włączyć pauzę, gdy zwykłe okna całkowicie zasłaniają obszar roboczy monitora. Działa także przy kilku oknach obok siebie. Tapeta wznawia się po odsłonięciu ekranu; w panoramie wszystkie monitory muszą być zasłonięte. Przezroczyste i narzędziowe nakładki są pomijane, a zmiana wymaga dwóch kolejnych odczytów. Opcja jest domyślnie wyłączona.

Historia CPU/GPU/RAM (0.14.7)

W Ustawienia → Wydajność widać ostatnie pięć minut obciążenia CPU, GPU i RAM. Przełącznik pokazuje całość, aplikację, tapety albo wspólne procesy i podglądy. Pomiar odbywa się co 10 sekund, a 30 próbek jest przechowywanych tylko w pamięci programu. GPU oznacza zajętość najbardziej obciążonego silnika GPU przez procesy AetherWall, nie procent całej karty; przy niedostępnym liczniku Windows pojawia się „n/d”. Wartości GPU składników nie muszą sumować się do całości.

Test wydajności projektu (0.14.8)

Przed wysłaniem projektu z workshopu lub Studio uruchom test wydajności. Program otwiera osobny, wyciszony podgląd i przez osiem sekund mierzy uruchomienie, CPU, GPU, pamięć RAM, tempo animacji JavaScript oraz wielkość plików. Test można anulować. Po zmianie plików projektu trzeba go wykonać ponownie. Pierwsze kliknięcie „Opublikuj w workshopie” wykonuje test; po obejrzeniu wyniku kliknij ponownie, aby wysłać paczkę. W Studio przycisk wysyłki staje się dostępny po teście.

Wynik dotyczy rozmiaru tego podglądu i sprzętu, na którym go uruchomiono. Tempo animacji nie jest miarą klatek filmu MP4 ani animacji CSS. Sprawdź też projekt na docelowym ekranie i słabszym komputerze.

Paczka diagnostyczna (0.14.9)

W Ustawienia → Wydajność kliknij „Paczka diagnostyczna”, obejrzyj raport i zapisz ZIP. Zawiera techniczny stan programu w report.json, maksymalnie 30 próbek CPU/GPU/RAM w history.csv oraz objaśnienie w README.txt. Nie dołączamy nazw ani plików tapet, prywatnych ścieżek, notatek, zadań, okładek ani danych o odtwarzanej muzyce. Paczka pozostaje lokalna, dopóki sam jej nie udostępnisz. Przejrzyj ją przed przekazaniem pomocy technicznej.

Synchronizacja efektów z dźwiękiem (0.15.0)

Ustawienia → Muzyka pozwalają dodać od 0 do 300 ms opóźnienia efektów. Zacznij od 0 ms. Jeśli efekty wyprzedzają słyszane uderzenia, zwiększ wartość po 10–20 ms i zastosuj ustawienia. Zmiana działa od razu dla aktywnych tapet. Nie przyspieszy efektów, które są już spóźnione: wtedy wróć do 0 ms, zwiększ częstotliwość analizy i sprawdź wydajność tapety. Tor audio na żywo pokazuje czas przekazania z korektą, lecz nie mierzy opóźnienia głośników ani ekranu.

Wybór źródła dźwięku (0.15.1)

W Ustawienia → Muzyka wybierz domyślne wyjście Windows, konkretne urządzenie wyjściowe albo aplikację mającą sesję audio. Kliknij „Zastosuj ustawienia dźwięku”. Odśwież listę po podłączeniu urządzenia lub uruchomieniu aplikacji. Po zamknięciu wybranej aplikacji tapeta czeka na ponowne połączenie i nie przechwytuje całego systemu. Przechwytywanie procesu wymaga Windows 10 build 20348 lub nowszego. Przeglądarki mogą mieć kilka procesów o tej samej nazwie; wybierany jest proces z najaktywniejszą sesją, bez rozróżniania kart. Informacje o tytule i okładce nadal pochodzą z odtwarzacza systemowego.

Miernik pasm i uderzeń (0.15.2)

W Ustawienia → Dźwięk i multimedia karta „Pasma na żywo” pokazuje bas 20–160 Hz, środek 160 Hz–2 kHz, górę 2–20 kHz i krótką sygnalizację uderzenia basowego. Uruchom tapetę reagującą na dźwięk; miernik korzysta z jej istniejącego toru audio, bez drugiego przechwytywania. Wartości są względne, a wskaźnik uderzeń może pominąć perkusję bez basu. Panel mierzy sygnał przed opcjonalną korektą opóźnienia obrazu.