module SFML::Graphics::ShapeInspectable

Methods shared across CircleShape / RectangleShape / ConvexShape: texture binding, geometry introspection, transform readout, dup. Including class must define CSFML_PREFIX (Symbol) and hold the FFI handle in @handle (same contract as Graphics::Transformable).

Texture binding follows the Sprite pattern: keep a Ruby reference to the bound texture in @texture so the GC doesn’t collect the GPU resource while the shape still draws with it.