2024 · 3 months · Personal project
AI Design Technologist, Computational Designer, Product Designer
Testing automatizado para definiciones de Grasshopper: las instantáneas JSON capturan el estado completo del modelo, las capturas del viewport hacen visibles las regresiones, y las ejecuciones nocturnas por lotes detectan la geometría rota antes de que llegue a un cliente.
Las definiciones de Grasshopper no tenían capa de tests. Un diseñador computacional cambia un cluster y nada le avisa de que otra tipología produce ahora geometría rota. El fallo aflora en un entregable de cliente.
Los modelos paramétricos fallan visualmente, no con un stack trace. La geometría puede ser topológicamente válida y aun así estar mal, así que una aserción no basta: un humano tiene que ver el fallo, y verlo a tiempo de actuar antes de la entrega.
Testing de regresión automatizado para modelos paramétricos. Snapshots JSON capturan el estado completo del modelo, capturas del viewport hacen revisables las regresiones visuales, y ejecuciones nocturnas por lotes barren límites de parámetros y casos de estrés aleatorios. El log de cada ejecución enlaza directo a las imágenes de cada caso, así que revisar es hacer scroll y no reconstruir. Un plugin en C# sobre la API de RhinoCommon, con popups de advertencia y diálogos de puerta para explorar sin romper la lógica de la definición.
Autor único. Arquitectura, plugin, UX de los componentes, documentación y el trabajo de adopción con los diseñadores que lo usan.
La geometría rota se detecta antes de que la vea un cliente. El framework se convirtió en la capa de validación de los configuradores de Timber, Stairs y Roof Top-Up, en uso diario por un equipo de diez personas, y cambia la forma de trabajar: cazar una mala regresión antes de una entrega es lo que hace que refactorizar una definición compleja deje de dar miedo.
Las pruebas automatizadas son estándar en software y raras en modelado paramétrico, y sin embargo las definiciones de Grasshopper siguen creciendo en tamaño, equipos y ritmo de cambio. El riesgo es igual de real; solo se manifiesta como geometría rota en lugar de errores de ejecución.
Traer el testing al trabajo paramétrico va menos de perfección que de iteración confiada: sin barreras, cada cambio parece peligroso. La misma base que explora conjuntos de parámetros y compara ejecuciones es la que necesita la optimización. Añade reglas de puntuación y búsqueda, y el flujo pasa de aprobar-o-fallar a descubrir-o-mejorar. La optimización es la próxima frontera, y la base ya está ahí.