BookinglyTech News
Software

Besprited, el editor de sprites en C++23, busca colaboradores en Hacktoberfest

El fork de LibreSprite escrito en C++23 y con scripting QuickJS abre sus incidencias etiquetadas para el evento de octubre, con reglas estrictas para las PRs generadas con IA.

3 min de lecturaDev.to0 vistas

Besprited, el editor de sprites y animación libre y de código abierto, participa en Hacktoberfest, que arranca el 1 de octubre. El proyecto ha publicado cómo quiere recibir contribuciones y qué va a rechazar. Por debajo hay un fork de LibreSprite escrito en C++23 y con scripting QuickJS, así que lo que se pide es código real sobre un editor de píxeles.

Cómo entrar

El circuito es el habitual: buscar una incidencia etiquetada como good first issue (pequeña y bien delimitada) o help wanted (algo más grande), comentarla y esperar a que se la asignen. Muchas llevan un comentario de "Where to start" que apunta al punto del código que hay que tocar. La norma es una incidencia por persona a la vez, y si en unos siete días no hay PR ni avance, puede pasar a otra mano. Las PRs sobre incidencias sin reclamar antes se pueden cerrar sin más.

Para compilar hay que clonar con --recursive, porque el repositorio usa submódulos, y seguir BUILDING.md: cmake -G Ninja -DENABLE_TESTS=on .., luego ninja y ctest. La PR va contra trunk desde el fork, centrada en una sola incidencia, con tests cuando se pueda y el formulario relleno. El formato se aplica solo a las líneas que se han cambiado, con git clang-format. Las PRs aceptadas reciben la etiqueta hacktoberfest-accepted.

Hay material de sobra para empezar. En la lista de good first issue aparecen, entre otras, la actualización de los pasos de instalación del DMG de macOS (#312), la normalización de las cabeceras de autor en las paletas que se distribuyen (#309) o los formatos de paleta Lospec .hex, Paint.NET .txt y Adobe .act (#302). En help wanted suben de nivel: pegar como capa nueva (#137), combinar capas seleccionadas o visibles (#149), abrir varios archivos a la vez (#150), marcar la entrada numérica inválida en lugar de recortarla en silencio (#119) o la carga y guardado de WebP animado (#301). Además hay varios asuntos abiertos del formato .ase y del manejo del centinela 0xFFFF en el recuento de chunks por fotograma (#196).

Reglas: la IA se declara

El spam y las PRs de bajo esfuerzo se etiquetan como spam y se cierran, lo que además las deja fuera de Hacktoberfest. Eso incluye cambios que solo tocan espacios en blanco, código que no compila y salida de IA sin revisar. Usar asistencia de IA está permitido, pero hay que entender y revisar lo que se envía y hay que declararlo, por ejemplo con una línea Co-authored-by:. El proyecto no tiene funciones de IA generativa: la política cubre cómo se escribe el código, y está detallada en AI_USAGE.md.

Cada archivo fuente modificado necesita además una línea de copyright de Veritaware que cubra el año en curso, y la CI lo comprueba. Antes de nada, toca leer CONTRIBUTING.md y el código de conducta. Las dudas se preguntan en la propia incidencia o en su Discord.

La parte interesante es el filtro que aplican a las contribuciones asistidas por IA. Hacktoberfest arrastra desde hace años un problema de PRs automáticas que solo buscan el distintivo, y exigir comprensión y declaración explícita es una forma bastante directa de cortarlo. Queda por ver cuánta gente pasa el corte y cómo se resuelven los asuntos pendientes del formato .ase, que son los que más peso tienen en la hoja de ruta.