CommunityImagengithub.com

m4bwav/polywright-generate

Genera modelos 3D a partir de prompts, dibujos, arte conceptual, fotos o bloqueos, ya sea mediante generadores de imagen a 3D (ComfyUI con TRELLIS.2, Pixal3D, Hunyuan3D-2) o código paramétrico (build123d, CadQuery, OpenSCAD, bpy). Incluye texturizado y registro de licencias.

¿Qué es polywright-generate?

polywright-generate es el motor de creación de modelos 3D dentro del ecosistema polywright. Está diseñado para agentes de IA que necesitan transformar ideas conceptuales en modelos tridimensionales utilizables, ya sea para impresión 3D, juegos, animación o visualización. La herramienta ofrece dos rutas principales: generación mediante IA (imagen a 3D usando TRELLIS.2, Pixal3D, Hunyuan3D-2 a través de ComfyUI, o APIs alojadas como Meshy, Tripo, Rodin) y modelado por código (build123d, CadQuery, OpenSCAD para piezas CAD exactas; bpy para kits de juego y entornos). La elección depende del objeto: formas orgánicas o escultóricas se benefician de los generadores, mientras que piezas con dimensiones definidas (soportes, cajas, edificios) se modelan mejor con código. El sistema gestiona automáticamente la texturización (PBR, proyección de imágenes), escala, y registro de licencias para cada modelo generado. Incluye un flujo completo de verificación con inspección de mallas, renders de referencia y corrección de defectos comunes como fundidos de partes o colores desplazados. Soporta plataformas como ComfyUI, Blender, y APIs externas, con un enfoque en la reproducibilidad mediante semillas y registros detallados.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/m4bwav/polywright/tree/HEAD/skills/polywright-generate

Installed? Explore more Imagen skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace polywright-generate?

Dos motores crean modelos imaginados: código (exacto, editable, nítido, con dimensiones) y generadores (orgánicos, rápidos, aproximados, topología desordenada). Elige según el objeto, no por costumbre. Vuelve al centro: ../polywright/SKILL.md. Tabla de modelos con licencias y VRAM: references/generators.md. Patrones de código: references/code-modeling.md.

Paso 1: ¿código o generador?

ObjetoMotor
Tiene dimensiones, encaja con algo, es principalmente planos y cilindros (soporte, carcasa, estante, edificio, letrero, caja)código: build123d, CadQuery o OpenSCAD para piezas imprimibles y CAD; bpy para kits de juego y edificios
Muchas variaciones de una misma cosa (vallas, casas, rocas, un bosque)código procedural (bpy, Geometry Nodes) a partir de unos pocos activos principales
Pieza única orgánica o escultórica (estatua, criatura, personaje, tronco de árbol, comida)generador a partir de una imagen de referencia o conjunto multivista
Personaje que se va a animargenerador para la forma, luego retopología y rig (polywright-finish)
Un objeto real del que tienes una fotoprueba primero polywright-capture; un generador adivina los lados ocultos

Las difusiones redondean bordes afilados e inventan dimensiones; el código no puede esculpir la cara de un león. Muchos buenos modelos son ambos: un pedestal codificado con un pico de cabeza de león generado unido mediante booleanos.

Paso 2: generadores

  1. Referencias primero (polywright-references): una imagen limpia sobre fondo blanco, luz plana, poca perspectiva, 1024 px; para personajes una pose en A; para una mejor vista trasera, un conjunto frontal/izquierdo/trasero/derecho a la misma escala.
  2. python ../polywright/scripts/pw.py doctor muestra los hosts de ComfyUI y sus checkpoints 3D.
  3. Ejecuta uno:
    • Hunyuan3D-2 integrado (solo forma, unos 100 s en una tarjeta de 16 GB a 30 pasos, octree 256): pw.py gen --image refs/front.png [--left L --back B --right R] --out work/raw.glb [--seed N]
    • Cualquier otro flujo de trabajo de ComfyUI, en formato API o guardado desde el editor (un archivo de plantilla funciona tal cual; pw.py lo convierte con las definiciones de nodos del host): pw.py gen --image refs/front.png --workflow <archivo> --out work/raw.glb. TRELLIS.2 y Pixal3D con texturas PBR: la plantilla de ComfyUI 3d_pixal3d_trellis2_image_to_model.json (en la carpeta comfyui_workflow_templates_json/templates de la instalación de ComfyUI); su interruptor selecciona Pixal3D por defecto, así que añade --set 316.value=true para TRELLIS.2. En una tarjeta de 16 GB (tiempo de GPU): TRELLIS.2 377 s en frío (73 a 190 s en caliente), en posición vertical, el mejor detalle; Pixal3D 329 s, en el marco de la cámara (inclinado: pw.py convert IN OUT --level); ambos con unos 700k triángulos y texturas PBR de 4096 px; Hunyuan3D-2 99 s, solo forma. --set NODE.input=VALOR cambia cualquier entrada.
    • APIs alojadas (Meshy tiene la lista de precios públicos más clara; Tripo, Rodin, Hunyuan 3.x): a través de su propia API o MCP, o nodos asociados de ComfyUI. Indica el costo antes de gastarlo.
  4. Cada ejecución escribe <salida>.gen.json (host, modelo, semilla, pasos). Registra el modelo y su licencia: pw.py manifest <directorio> --add-tool "<modelo>" --tool-version <v>.
  5. Inspecciona: pw.py inspect work/raw.glb luego pw.py render work/raw.glb --out renders/raw. Compara la hoja con la referencia: la parte trasera y la inferior son suposiciones; extremidades extra, partes delgadas fundidas y huecos fusionados son comunes. Regenera con otra semilla o mejores vistas antes de arreglar a mano. Letras y números pintados se hornean como manchas y los colores se desvían: pw.py mark borra y redibuja la marca y mueve el color al de la foto (L-003; figuras para video).

La salida en bruto no tiene escala, es densa (cientos de miles de triángulos), a menudo no múltiple, sin UVs, con Y hacia arriba. Nunca está lista para juegos ni para impresión tal cual: escálala y termínala (polywright-finish, polywright-print).

Paso 3: código

Escribe un script que construya el objeto a partir de partes nombradas con dimensiones reales, ejecútalo, míralo, arréglalo:

  • bpy: pw.py bpy build.py -- --out work/model.blend (las trampas dependen de la versión de Blender: polywright-blender).
  • build123d o CadQuery (Python) u OpenSCAD (openscad -o out.stl model.scad, backend Manifold) para sólidos: herméticos por construcción, exporta STEP para CAD y STL o 3MF para impresión.

Incluye comprobaciones en el script (tamaño total, espacios entre partes, espesor de pared, número de partes) e imprímelas; los agentes arreglan bien los fallos por tracebacks, pero los errores de forma solo con mediciones y renders. Dos reintentos ante un traceback, luego repiensa.

Paso 4: texturas para una malla generada o modelada

TRELLIS.2 y Pixal3D hornean texturas PBR en su flujo de trabajo. Para una malla sin texturar: la etapa de texturizado condicionado por forma de TRELLIS.2, StableGen (complemento de Blender con backend ComfyUI, GPLv3) que proyecta SDXL, Flux o Qwen Image 2.1 desde cámaras (0.4.0 añade retexturizado regional enmascarado y auto-rigging con SkinTokens; Qwen Image 2.1 y FIBO 2.0 Edit son no comerciales, MOSS Image es Apache-2.0), o materiales simples de bibliotecas CC0 (polywright-references). La pintura de Hunyuan 2.1 necesita unos 21 GB.

Licencias (registrar por ejecución)

TRELLIS.2, Pixal3D, TripoSG, PartCrafter: MIT. Los pesos abiertos de Hunyuan3D: licencia comunitaria de Tencent (no licenciado en la UE, Reino Unido ni Corea del Sur; límite de 1M MAU; las salidas no pueden entrenar otros modelos). SF3D y SPAR3D: licencia comunitaria de Stability (gratuito con ingresos menores a 1M USD). Alojados: los términos del plan. Los pesos solo para investigación (PartPacker, Lyra, CHORD) se quedan fuera de cualquier producto enviado. Las tiendas requieren divulgación de IA (polywright enruta referencias).

Mantenimiento

Unidad perenne, nivel fast (los modelos y licencias cambian mensualmente). Acompañantes: RESEARCH.md, CHANGELOG.md, LEARNINGS.md, TESTS.md con evals/evals.json, MAINTENANCE.md, estado en evergreen.json. Lee evergreen.json en cada uso; actualiza cuando corresponda.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

m4bwav/polywright

Start here whenever a task needs a 3D model and no sibling below clearly owns it: a model of a real or imagined thing for a game (Unity, Roblox, Unreal, three.js), a 3D print, AI video or AR, or another plugin asking for a mesh. Picks the route (find, capture, generate, code), scaffolds the asset folder and manifest other plugins read, and runs pw.py (inspect, render a sheet, convert, check a budget, bpy headless, match a picture's camera, army blockouts with depth and pose passes for AI...

m4bwav/polywright-blender

Use whenever Blender is scripted, automated or debugged, before writing any bpy code: headless runs that report errors (pw.py bpy), the bpy API traps models still write in Blender 5.x (removed importers, renamed sockets, EEVEE names), tested recipes (modifiers, booleans, remesh, UVs, bakes, turntables, depth passes, batch exports), Blender MCP servers and their risks, and other 3D tools per OS. Use on 'write a Blender script', 'automate Blender', 'batch export .blend', any bpy traceback or...

m4bwav/polywright-finish

Use whenever a mesh must be made ready for a game engine, the web or AR: is it game-ready, too many polygons, LODs, retopology, UVs, baking, PBR and normal-map conventions, collision, rigging, and axis, unit and format export for Roblox, Unity, Unreal, Godot, three.js (meshopt, KTX2), USDZ and video blockouts. Use on 'is this game-ready', 'make this work in Roblox/Unity', 'optimise for the web', 'reduce polygons', 'add LODs', 'retopologise', 'bake normals', 'imports sideways or tiny', 'flip...

m4bwav/polywright-references

Use whenever reference images, views or textures for a 3D model are needed, before modelling or image-to-3D: orthographic front, side and back views with a height bar, A-pose turnarounds, multi-view sets, blockout renders repainted into consistent views, seamless textures and quick normal/height/roughness maps (pw.py texture). Use on 'what references do I need', 'reference sheet', 'front side back views', 'turnaround', 'seamless texture', 'PBR maps from this photo'. Not for flat graphic...

Skills relacionados