19.06.2026 18:33

mPainter: obiekty inteligentne (Smart Objects)

⏱️ 3 min czytania
Udostępnij:

mPainter: obiekty inteligentne (Smart Objects) — pełny osadzony dokument

Kolejny krok w domykaniu parytetu mPaintera z Photoshopem: obiekty inteligentne. To jedna z tych funkcji, które na pierwszy rzut oka wyglądają jak „zwykła warstwa", ale pod spodem zmieniają sposób pracy z grafiką na nieniszczący.

Co to jest obiekt inteligentny?

Zwykła warstwa rastrowa to po prostu piksele — jak coś przeskalujesz w dół i z powrotem w górę, tracisz jakość bezpowrotnie. Obiekt inteligentny to warstwa, która niesie w sobie kompletny, edytowalny dokument źródłowy — własny .mart zaszyty wewnątrz. Warstwa pokazuje spłaszczony podgląd, ale prawdziwa, pełna zawartość żyje w środku i można do niej wrócić w dowolnym momencie.

Jak to działa w mPainterze

  • Konwersja — z menu warstwy wybierasz „Konwertuj na obiekt inteligentny". Bieżąca treść warstwy zostaje osadzona jako pełnoprawny pod-dokument; na płótnie nic się nie zmienia, ale warstwa jest teraz „opakowana".
  • Edycja zawartości — „Edytuj zawartość obiektu inteligentnego" przełącza płótno na osadzony dokument (z paskiem „Gotowe / Anuluj" na górze). Edytujesz dowolnymi narzędziami — dodajesz warstwy, malujesz, korygujesz — a po zatwierdzeniu wynik wraca do dokumentu nadrzędnego jako zaktualizowany podgląd, z zachowanym źródłem.
  • Trwałość — obiekt inteligentny zapisuje się w pliku projektu (.mart) razem z osadzoną treścią, więc po ponownym otwarciu możesz dalej edytować jego zawartość. Starsze pliki wczytują się bez problemu (po prostu nie mają obiektów inteligentnych).

Co pod maską (dla ciekawskich)

Żeby obiekt inteligentny był naprawdę bezpieczny, jego dane musiały trafić do wszystkich trzech warstw serializacji mPaintera jednocześnie: formatu pliku .mart, kanału współpracy w czasie rzeczywistym oraz historii cofania. Dzięki temu konwersja i edycja są w pełni cofalne (Ctrl+Z), a stan pozostaje spójny. Edycję zawartości świadomie ograniczyliśmy na razie do pracy jednoosobowej — w trybie współpracy pojawia się stosowny komunikat.

Znane ograniczenia tej wersji

Uczciwie — to wersja pierwsza, z kilkoma świadomymi cięciami (są na liście do dopracowania):

  • Wejście w edycję zawartości czyści historię cofania dokumentu nadrzędnego (docelowo rozwiąże to obsługa wielu dokumentów w zakładkach).
  • Skalowanie samej warstwy obiektu wciąż resampluje podgląd — nieniszczący re-render prosto ze źródła to następny krok.

Status

To wpis z dziennika prac (devlog) nad mPainterem — postęp, nie zapowiedź wydania. mPainter rozwija się równolegle z platformą; obiekty inteligentne są już w kodzie i przetestowane pod kątem kompilacji oraz spójności danych.

📚 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.