13.07.2026 15:52

Moonlight Animate: efekty klipu sterowane skryptem

⏱️ 2 min read
Share:

Animowalne efekty klipu — grading, glow, rozmycie, winieta, lumetri, a od niedawna także światło — miały dotąd jedną drogę: ręczne klikanie w panelu Sterowanie efektami. Od dziś całym tym systemem można sterować ze skryptu.

Efekty i klatki kluczowe z kodu

Nowe funkcje w przestrzeni app.anim.* dają skryptom pełną kontrolę nad efektami dowolnego klipu:

  • app.anim.effectTypes() — lista dostępnych typów efektów; app.anim.clipEffects(id) — co jest już nałożone na klip.
  • app.anim.addClipEffect(clipId, typ) zwraca identyfikator efektu; do tego removeClipEffect i setEffectEnabled.
  • app.anim.setEffectParam(clipId, effectId, nazwa, wartość) ustawia wartość statyczną.
  • app.anim.setEffectKeyframe(clipId, effectId, parametr, klatka, wartość, easing) — dokłada klatkę kluczową parametru, a więc animuje kolor, pozycję światła czy promień rozmycia w czasie; removeEffectKeyframe ją cofa.

Efekt dodany skryptem jest nie do odróżnienia od tego z panelu — ta sama walidacja z rejestru efektów, ta sama koercja wartości, to samo jedno cofnięcie na operację i ta sama propagacja we współpracy. Skrypt może więc jednym przebiegiem rozstawić ruchome światła na kilkunastu klipach albo zaanimować grading całej sekwencji.

Bezpiecznie i przewidywalnie

Wartości parametrów są przycinane do zakresów z rejestru — żaden skrypt nie ustawi już rozmycia o promieniu miliona pikseli, który zawiesiłby aplikację. Nieznane typy i nieanimowalne parametry są odrzucane z czytelnym ostrzeżeniem zamiast po cichu psuć projekt, a usunięcie ostatniej klatki kluczowej zamraża jej wartość, żeby obraz nie „przeskoczył".

Przy okazji domknęliśmy dwie drobne luki: app.image.contentAwareFill() wypełnia zaznaczenie z otoczenia, a app.color.setBucketExpand() / setBucketCloseGap() ustawiają parametry wypełniania rysunku kreskowego — wszystko, co klikalne, jest też skryptowalne.

📚 Related posts

27.08.2026 20:55

Data, której nie cofniemy nawet my

Każdy certyfikat autorstwa dostaje datę zapisaną w blockchainie Bitcoina — takiej nie podważy nikt, my też nie. Sprawdzisz ją bez konta i bez Moonligh...
Continue reading →
27.08.2026 19:35

Twój kolor, wszędzie

Trzy tryby i siedem akcentów, wspólnych dla strony i Moonlight Animate. Motyw jedzie z kontem, profil pokazuje gościom Twoje kolory, a harmonogram sam...
Continue reading →
27.08.2026 18:31

Kto moderuje i na jakiej podstawie

Moderator to teraz osobna rola z własnym zakresem, a nie administrator w przebraniu. Odrzucenie treści wymaga powodu, który trafia do autora razem z d...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.