A
add-api
Automatyzuj tworzenie API C# dla SkiaSharp poprzez zawijanie funkcjonalności C++
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność do dodawania nowych API C# w SkiaSharp poprzez strukturalny 6-etapowy przepływ pracy. Analizujesz funkcjonalność C++, tworzysz API C, generujesz wiązania i piszesz wrappery C#. Aktywuje się automatycznie dla problemów oznaczonych jako "New API" lub na żądanie bezpośrednie (np. "add DrawFoo method", "expose SkSurface::draw"). Wymusza ścisłą kontrolę gałęzi — zawsze pracujesz na gałęziach feature, nigdy bezpośrednio na main.
Jak używać
- 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.