Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Add new C# APIs to SkiaSharp by wrapping Skia C++ functionality. Structured 6-phase workflow: C++ analysis → C API creation → submodule commits → binding generation → C# wrapper → testing.\nTriggers: - Issue classified as \
How to use
- Przed rozpoczęciem pracy utwórz gałęzie feature w obu repozytoriach: najpierw w SkiaSharp (git checkout -b dev/issue-NNNN-description), następnie w submodule externals/skia (cd externals/skia, git checkout -b dev/issue-NNNN-description, cd ../..). Nigdy nie commituj bezpośrednio do gałęzi main ani skiasharp — to narusza politykę i blokuje pull request.
- Przeanalizuj C++ API, które chcesz owinąć. Umiejętność przeprowadzi Cię przez analizę funkcjonalności Skia C++.
- Utwórz odpowiadające API C dla wybranej funkcjonalności C++. Pamiętaj, że każda zmiana w API C wymaga natywnej kompilacji — pominięcie tego powoduje EntryPointNotFoundException w testach.
- Zatwierdź zmiany w submodule externals/skia na utworzonej wcześniej gałęzi feature. Nigdy nie commituj C API bez przygotowania submodule — repozytorium nadrzędne nie będzie mieć dostępu do Twoich zmian.
- Uruchom generator wiązań, aby wygenerować C# bindings. Nigdy nie edytuj plików *.generated.cs ręcznie — zostaną nadpisane przy następnym uruchomieniu generatora i spowodują niezgodność.
- Napisz wrappery C# i przeprowadź testy. Jeśli testy się nie powiodą, napraw problem — pomijanie testów jest niedopuszczalne. Po weryfikacji wszystkich kroków utwórz pull request z gałęzi feature do main.