02.07.2026 22:54

Wielki audyt matematyki Moonlight Animate — setki weryfikacji, dziesiątki poprawek precyzji

⏱️ 4 min czytania
Udostępnij:

Przeprowadziliśmy największy jak dotąd przegląd jakości Moonlight Animate: pełny audyt poprawności matematycznej całej aplikacji — od trybów mieszania i zarządzania kolorem, przez silnik pędzli, zaznaczenia, tekst i wektory, po animację, węzły proceduralne i eksporty. Każdy obszar został zweryfikowany względem kanonicznych wzorów i specyfikacji formatów, a następnie wszystkie potwierdzone błędy naprawiliśmy i zweryfikowaliśmy drugim, niezależnym przeglądem.

Co się poprawiło w praktyce

Bezpieczeństwo pracy:

  • Obrót obrazu o 90° na niekwadratowym płótnie działał błędnie — naprawione.
  • Grupy warstw z kryciem poniżej 100% renderowały się zbyt ciemno (krycie liczone podwójnie), a scalanie w dół utrwalało ten błąd w pikselach — teraz krycie grup jest dokładnie takie, jak ustawisz.
  • Import plików PSD: kolejność warstw i widoczność masek są teraz poprawne.

Eksporty:

  • Eksport MP4 miał błędny zegar ścieżki wideo — teraz animacje grają w dokładnym tempie, z audio w synchronizacji.
  • GIF-y utrzymują równe tempo niezależnie od liczby klatek na sekundę; APNG obsługuje ułamkowe fps co do ułamka.
  • Zapis powtórki ze Studia transmisji zapisuje pełny bufor, a pliki dostają poprawne metadane rozdzielczości.

Rysowanie:

  • Korekta pociągnięcia po zakończeniu kreski realnie działa; kreski nie zaczynają się już zgrubieniem przy lekkim dotknięciu i nie kończą o segment za wcześnie.
  • Skalowanie i obrót źródła klonowania działają we właściwą stronę; kopie lustrzane przy malowaniu symetrycznym są teraz dokładnymi odbiciami (łącznie z pochyleniem rysika i losowością).
  • Aerograf nakłada farbę w stałym tempie niezależnie od obciążenia komputera.

Zaznaczenia i tekst:

  • Wtapianie nie rozmywa wielokrotnie istniejącego zaznaczenia przy dodawaniu kolejnych obszarów; różdżka nie „przecieka" przez przezroczyste tło; przekształcanie zaznaczenia zachowuje miękkie krawędzie.
  • Wcięcia akapitu i odstępy przed akapitem naprawdę działają, interlinia w punktach jest dokładna, a kursor tekstowy trafia idealnie tam, gdzie klikniesz — również przy wcięciach i justowaniu.

Kolor:

  • Ciemne gradienty w dokumentach o szerokim gamucie wyświetlają się bez pasm i przekłamań w cieniach — zarówno na ekranie, jak i w eksportach.
  • Tryby mieszania z rodziny Freeze/Heat/Glow/Parallel/Negation liczą się według klasycznych wzorów.

Animacja i sceny:

  • Edycja osi czasu nie wydłuża już sceny przy każdej zmianie; synchronizacja z chmurą nie gubi obiektów utworzonych po drugiej stronie; malowanie przy włączonej kamerze 2D trafia pod kursor.
  • Odtwarzacz w przeglądarce, eksport HTML i aplikacja desktopowa grają teraz identycznie: te same easingi (zweryfikowane wzór po wzorze), to samo tempo, te same sekwencje klatek, ta sama głośność — i nowość: panorama stereo dźwięku działa w całym łańcuchu, od edytora po czytnik.

Węzły proceduralne:

  • Przepięcie połączenia natychmiast odświeża wynik; szum przepływowy animuje się płynnie bez migotania; rastr komiksowy oddaje tony poprawnie (z wygładzonymi krawędziami kropek); gwiazda ma proste ramiona; kafelkowanie nie wnosi szwów do środka tekstury.

Skala przeglądu

Audyt objął ~150 tysięcy linii kodu w 13 obszarach. Zweryfikowaliśmy setki wzorów — od algebry kompozycji kolorów, przez podział krzywych Béziera i dyskretyzację równania Poissona w narzędziach retuszu, po zgodność interpolacji animacji między aplikacją a przeglądarką. Wszystkie poprawki przeszły drugi, niezależny przegląd weryfikacyjny, który potwierdził matematykę i wyłapał ostatnie niuanse zanim trafiły do Was.

To fundament pod kolejne funkcje: teraz, gdy każde narzędzie liczy dokładnie to, co obiecuje, możemy budować dalej na pewnym gruncie.

📚 Powiązane posty

14.07.2026 22:19

Silnik gier: od szablonu do grywalnej gry RPG top-down

Startowy szablon silnika gier to teraz kompletny, grywalny wycinek gry RPG top-down: chodzenie po siatce, rozmowy z postaciami, przeciwnik goniący gdy...
Czytaj dalej →
14.07.2026 19:16

Moonlight Animate — system dialogów w grach

Silnik gier 2D w Moonlight Animate ma teraz kompletny system dialogów: kwestie z efektem maszyny do pisania, wybory z warunkami, zmienne fabularne i g...
Czytaj dalej →
14.07.2026 18:40

Moonlight Animate: ruchoma panorama dźwięku także w wyeksportowanym wideo

Dźwięk przejeżdżający z lewego do prawego głośnika brzmiał dobrze w podglądzie, ale eksport przez serwer zamrażał go w miejscu. Ostatnia luka parytetu...
Czytaj dalej →

📧 Bądź na bieżąco!

Zapisz się na listę oczekujących, aby otrzymywać powiadomienia o nowych postach na Dev Blog oraz informacje o starcie platformy Moonlight.