Shadeline i SHDL Studio
Twórca / Projektant produktu / Programista
Shadeline to samodzielna biblioteka runtime do tworzenia oryginalnych animacji i opraw wizualnych w przeglądarce. Nie jest przywiązana do jednego frameworka: do integracji wystarczy host DOM lub Canvas, a reszta logiki renderowania, scen i parametrów pozostaje po stronie biblioteki.
Sercem projektu jest konfigurowalny pipeline Three.js / WebGL. Shadeline składa efekty shaderowe, tekstury rastrowe, tła proceduralne, deformacje, zakłócenia i reakcje czasowe w jeden przepływ, dzięki czemu można zmieniać charakter sceny bez przebudowywania renderera.
Warstwa scen pozwala traktować animację jak system, nie pojedynczy efekt. Biblioteka obsługuje zestawy scen, ustawienia per scena, duplikowanie, zmianę nazw, kolejność efektów i widoczność warstw. Ten model dobrze pasuje do animowanych obiektów pierwszoplanowych, opraw produktowych, wizualizacji audio-reaktywnych, interaktywnych konfiguratorów i portfolio.
Aktualny zestaw obejmuje 12 warstw efektów: Raster image, Duotone mapping, Signal Displace / Glitch, Chromatic split, Legacy Pixel Bleed, CRT Scanlines, Barcode Stripes, Signal Echo, Procedural Waves, Film Grain, Background Grid oraz Negative Pulse. Każdą warstwę można włączać, wyłączać, parametryzować i przenosić w kolejności efektów.
Shadeline ma też warstwę wydajnościową: tryby Auto, Quality, Balanced i Battery, docelowe FPS, maksymalny DPR oraz adaptacyjną jakość renderowania. Runtime emituje dane o FPS, DPR i trybie pracy, więc host może reagować na koszt renderowania, rozdzielczość i możliwości urządzenia.
Integracja z interfejsem nie kończy się na Canvasie. Shadeline emituje typowane zdarzenia zmian ustawień, scen, konfiguracji, kolejności efektów, widoczności warstw, tekstury, audio, wydajności oraz zmiennych CSS. Dzięki temu elementy HTML poza WebGL mogą pozostać zsynchronizowane wizualnie z animowaną sceną.
SHDL Studio
SHDL Studio jest środowiskiem autorskim dla runtime'u: pozwala zarządzać scenami, profilami wydajności, profilami audio, kolejnością efektów, importem i eksportem konfiguracji oraz parametrami edytowanymi na żywo.
Responsive Preview pozwala sprawdzać scenę w konkretnych proporcjach i rozdzielczościach, bez uzależniania pracy od aktualnego viewportu. Ten sam zestaw wymiarów może zostać wykorzystany później przy eksporcie.
Studio obsługuje także eksport animacji do WebM. Zamiast nagrywać widoczny Canvas i przypadkowe spadki klatek UI, tworzy ukryty manualny runtime, renderuje animację klatka po klatce ze stałym timestepem i koduje wynik przez WebCodecs.
Dzięki temu SHDL Studio jest nie tylko panelem ustawień, ale narzędziem produkcyjnym: pozwala projektować sceny, porównywać warianty, testować koszt renderowania i przygotowywać konfiguracje lub materiały wideo bez ręcznego składania na ślepo parametrów konfiguracji w kodzie.
Shadeline nie został jeszcze wydany publicznie. Traktuję go jako rozwijany projekt narzędziowy: połączenie runtime'u, systemu scen i edytora, które może obsługiwać zarówno finalne animacje produkcyjne, jak i proces ich projektowania. W przyszłości możliwe, że pojawi się osobna strona demonstracyjna projektu.
Technologie i obszary
Języki
- TypeScript
Web Platform
- WebGL API
- Canvas API
- WebCodecs API
- HTML Audio API
- Resize Observer API
- Pointer Events API
- Drag and Drop API
- File API
- Blob URLs
- Web Storage API
- Shadow DOM API
- Page Visibility API
Rendering i grafika
- Three.js
- GLSL
Kodowanie i eksport mediów
- Mediabunny
- WebM
Runtime i architektura
- Runtime Events
- Performance Profiles
- Standalone Library
Build tooling
- Vite