Scene3D (3D Generation): foundations

accepted

Status

accepted — ratificada 2026-05-09 (mesmo dia da abertura) como parte da onda piloto de bootstrap servicesai. Implementação iniciada em `servicesaiscene3d; tickets em servicesaiscene3dbacklogpending/{001..005}`.

Summary

Geração 3D — text-to-mesh, image-to-mesh, scene composition. Proxy TripoLumaMeshy + self-hosted quando viável.

Motivation

3D crescendo (Apple Vision, Meta Quest, Tripo API barato). Use cases AR/VR ainda nicho mas Apple empurra. Foundation cedo evita débito quando virar tablestakes.

Scope

In

  • Text-to-mesh proxy
  • Image-to-mesh proxy
  • Formato GLB/USD output

Out (yet)

  • Rigging/animation
  • Scene editing
  • VR runtime

Initial design

Surfaces

  • backend/ — Go API + worker batch
  • app/ — não aplicável v1

Key APIs

  • POST /v1/scene3d/generate — text-to-mesh
  • POST /v1/scene3d/from-image — image-to-mesh

Dependencies

  • services/ai/imaging — refs visuais
  • services/ai/gateway — proxy TripoLumaMeshy
  • infra/data/kdb-blob — storage de meshes

Relation to existing sectors

  • Complementa imaging (2D) com 3D output
  • Independente de runtimes 3D de produto (escopo futuro)

Self-hosted-first analysis (5 gates)

  • G1 Feature parity: zero
  • G2 Performance: N/A
  • G3 Stability: N/A
  • G4 Capability: self-hosted limitado (Hunyuan3D viável)
  • G5 Critical-path readiness: não bloqueante

Open questions

  • Q1: Esperar mercado amadurecer ou ship MVP proxy?
  • Q2: Formato canônico — GLB ou USD?

Next steps

  1. Ratificar esta RFC (1 round de comments).
  2. Criar sector dir services/ai/scene3d/ com koder.toml, README.md, skeleton.
  3. Abrir tickets de implementação em services/ai/scene3d/backlog/pending/.
  4. Registrar em meta/docs/stack/registries/self-hosted-pairs.md se substituir externo.