Toolverse
Wszystkie skille

add-api

autor: mono

Automatyzuj tworzenie API C# dla SkiaSharp poprzez zawijanie funkcjonalności C++

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
mono
Kategoria
Backend
Wyświetlenia
6

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ć

  1. 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.
  2. Przeanalizuj C++ API, które chcesz owinąć. Umiejętność przeprowadzi Cię przez analizę funkcjonalności Skia C++.
  3. 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.
  4. 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.
  5. 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ść.
  6. 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.

Podobne skille