BookinglyTech News
Inteligencia artificial

bpy-compass responde dudas de la API de Blender según la versión que uses

El proyecto, con licencia MIT, consulta una base de conocimiento con los cambios de bpy desde la 2.80 y avisa de qué patrón dejó de funcionar, en qué versión y con qué se reemplazó.

3 min de lecturaDev.to0 vistas

bpy-compass es un agente que responde preguntas de scripting en Python para Blender atándose a la versión concreta que elijas —3.6, 4.2, 4.5 o 5.0— y que además señala qué patrón popular dejó de funcionar, en qué versión y con qué se reemplazó. Se publica con licencia MIT y tiene una demo abierta, sin registro. El código está en el repositorio.

El problema que ataca lo conoce cualquiera que haya tocado bpy: la API se rompe en casi cada versión mayor. scene.objects.link desapareció en la 2.80, los diccionarios de context override de los operadores en la 4.0, el identificador del motor EEVEE cambió en la 4.2 y volvió a cambiar en la 5.0, y el solver booleano rápido se renombró en la 5.0. Los tutoriales viejos siguen posicionando en buscadores y un LLM corriente contesta desde una memoria donde todas las versiones están mezcladas. El propio autor documenta el caso: pedirle a un modelo sin contexto un script de render para 5.0 devuelve la misma línea rota del tutorial de 4.2.

Base de conocimiento y conflictos

Cada respuesta sale en tres bloques: uno con un script válido para la versión pedida, otro con los patrones que dejaron de funcionar y su reemplazo —cada punto citando la entrada de la que sale— y un tercero con las rutas de la base de conocimiento que el agente leyó de verdad. Si no hay entrada para una parte de la pregunta, esas líneas se marcan como # NOT in Knowledge Base: y la interfaz las resalta en lugar de inventarse una cita.

La base se arma con tres tipos de fuentes: 27 documentos apiChange con símbolo, tipo de cambio (eliminado, renombrado o comportamiento), reemplazo, código de antes y después y la URL de las notas de versión contra la que se verificó; las notas oficiales de la API de Python para 2.80, 3.6, 4.0, 4.1, 4.2, 4.4, 4.5 y 5.0; y cuatro tutoriales escritos al estilo 2.7x, metidos a propósito para que el sistema encuentre los choques con los que tropieza un usuario real.

Ese último añadido hizo que la herramienta levantara seis conflictos críticos. Dos eran de equivocado contra correcto. Los otros cuatro no eran conflictos: los dos lados eran ciertos para versiones distintas de Blender, así que se resolvieron con decisiones acotadas por versión y una instrucción permanente que deja claro que dos valores diferentes para versiones diferentes no se contradicen.

Evaluación

Cada script generado se ejecuta en un Blender headless contra un assert, tanto para bpy-compass como para el mismo modelo sin la base de conocimiento, y los resultados, fallos incluidos, están publicados. El stack es Next.js App Router sobre Vercel, el SDK de IA de Vercel con cliente MCP, OpenRouter (z-ai/glm-5.3-flash, proveedor fijado a novita, temperatura 0) y Sanity Context en modo knowledge_base. El límite de 10 preguntas por minuto y por IP es lo que mantiene viva la clave de OpenRouter en una demo pública.

Lo interesante no es el caso de Blender, que es nicho, sino el patrón: acotar la recuperación a una versión concreta es lo que separa una respuesta útil de un texto que mezcla cinco años de API. Queda por ver si el autor extiende el enfoque a otras APIs que rompan tanto como bpy.