MyDemoBot
Pracuj z niskopoziomowym API grafów — zarządzaj węzłami, krawędziami i pamięcią w Zig-backed systemach.
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do pracy z modułem graph w faebryk — tą Python opaką wokół implementacji w Zig. Dowiedz się, jak działają GraphView, NodeReference i EdgeReference, jakie są niezmienniki alokacji i czyszczenia, oraz jak bezpiecznie traversować graf instancji. Używaj przy budowaniu systemów niskopoziomu, zarządzaniu pamięcią lub pracy z API grafów w kompilatorach i wizualizacjach.
Jak używać
Zaimportuj GraphView z modułu faebryk.core.graph — to główny punkt wejścia do pracy z grafem. GraphView to widok na członkostwo i sąsiedztwo węzłów przechowywanych w Zig.
Utwórz instancję grafu za pomocą GraphView.create() — nigdy nie wywoływaj konstruktora bezpośrednio. Zwrócony obiekt GraphView zawiera areny, mapy i bitsets potrzebne do operacji na grafie.
Pracuj z węzłami i krawędziami poprzez NodeReference i EdgeReference — są to uchwyty wartościowe (UUID) wskazujące na globalny backing storage w Zig. Używaj metod fabrycznych takich jak NodeReference.create(**attrs) zamiast konstruktorów.
Pamiętaj o niezmiennikach: nie modyfikuj referencji bezpośrednio, nie obchodź alokacji, nie ignoruj czyszczenia. Węzły i krawędzie muszą być tworzone i usuwane poprzez GraphView.
Zawsze wywoływaj g.destroy() na koniec pracy — najlepiej w bloku finally, aby upewnić się, że zasoby Zig zostaną zwolnione nawet w przypadku wyjątku.
Jeśli budujesz system traversujący graf (np. compiler lub wizualizacja), używaj BoundNode i BoundEdge jako wrapperów — łączą referencję z wskaźnikiem do posiadającego GraphView, co ułatwia nawigację.