module SFML::Graphics::Transformable

Shared transform interface for Sprite, CircleShape, RectangleShape (and Text once added). Including class must: 1. Define a constant CSFML_PREFIX (Symbol), e.g. :sfCircleShape 2. Hold the FFI handle in @handle

All wrappers go through C::Graphics.public_send so the same Ruby code picks up sfSprite, sfCircleShape_, sfRectangleShape* etc. without repetition. The cost (~1Β΅s of method dispatch on a typical call) is negligible against any GPU work, but the wins on maintainability are large β€” adding a new shape becomes ~5 lines.