Skip to content

feat(tripo): generar GLB con la API v3 y mostrarlos al lado del juego - #55

Merged
leocagli merged 7 commits into
mainfrom
tripo-integracion
Oct 9, 2026
Merged

leocagli merged 7 commits into
mainfrom
tripo-integracion

Conversation

@leocagli

@leocagli leocagli commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Qué hace

  • npm run tripo -- --name yelmo "<prompt>" crea una tarea de texto a 3D en la API v3 de Tripo (modelo P1-20260311, PBR, 3000 caras), la consulta cada 2 segundos y baja el GLB a assets/tripo/. Con --image hace imagen a 3D.
  • npm run tripo:viewer levanta un visor local en http://127.0.0.1:4173/ con model-viewer. Los GLB nuevos, regenerados o borrados se reflejan solos, sin recargar.
  • docs/tripo-integration.md: contrato de la API, límites, costos y plan para el Demo Day.
  • docs/lore.md: el lore de RUNA, la cuarta pared y la torre del centro.

El juego no cambia: lib/ queda igual. La key va en TRIPO_API_KEY o en ~/.config/tripo/key.txt. Los GLB, .env y model-viewer quedan fuera de git.

Pensado para el demo en vivo

  • Cada consulta corta a los 15 segundos y la descarga a los 60, así --timeout 120 corta a tiempo aunque el wifi se cuelgue.
  • Una tarea cortada se retoma con --task <id> sin pagar otra; el script deja impreso el comando.
  • Una opción mal escrita, o las opciones que npm se queda cuando falta el --, frenan antes de crear la tarea paga.
  • Solo guarda un GLB entero: revisa la cabecera glTF y el largo declarado.
  • Al fallar sale con código 1. Antes, en Node 24 sobre Windows, process.exit(1) después de varios fetch terminaba en un assert de libuv (0xC0000409).

Cómo se probó

  • npm test (140/140, 1309 aserciones) y npm run lint.
  • Contra un Tripo v3 falso: 429 en el alta, 503 en una consulta, consulta colgada con --timeout, URL vencida, descarga que no es GLB, tarea fallida, tarea que termina después del corte y se retoma con --task, imagen a 3D y saldo.
  • El visor en Chrome headless. El servidor responde 421 a un Host ajeno y 404 fuera de sus cuatro rutas.
  • Contra la API real, solo con una key inválida (HTTP 401). Falta una generación real con key.

🤖 Generated with Claude Code

leocagli and others added 2 commits October 8, 2026 11:05
RUNA existe para romper la cuarta pared. En el centro debe nacer una
torre para ir a otros mapas; lo que falta decidir queda listado.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scripts/tripo-generate.js crea la tarea de texto o imagen a 3D con
P1-20260311, la consulta hasta success y baja el GLB a assets/tripo/.
Cada pedido tiene limite de tiempo, asi --timeout corta aunque la red se
cuelgue, y una tarea cortada se retoma con --task sin pagar otra.

scripts/tripo-viewer.js sirve en 127.0.0.1 solo la pagina, model-viewer
y los GLB. La pagina agrega, recarga y saca modelos sola.

El juego no cambia: lib/ queda igual.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gitar-bot

gitar-bot Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Gitar is working

Gitar

@leocagli
leocagli merged commit 80f2498 into main Oct 9, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant