mesh-avatar-studio
일러스트를 코딩 에이전트와 로컬 편집기로 2D 메쉬 애니메이션 아바타로 변환
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Interfaz web de Render.IA, una plataforma que usa inteligencia artificial para convertir planos 2D en modelos estructurales 3D. Proyecto final de Patrones de Software. • Integrantes: Juan David Moreno, Felipe Cerón • Backend: renderia-backend (Java 21 + Spring Boot) • Base de datos: renderia-database (PostgreSQL en Neon)README 전문 보기 ↗
Interfaz web de Render.IA, una plataforma que usa inteligencia artificial para convertir planos 2D en modelos estructurales 3D.
Proyecto final de Patrones de Software.
Demo en línea: https://renderia-frontend.vercel.app
src/analysis/analyzers/LocalVisionAnalyzer.ts lee el plano en el navegador, sin servidor:
Con el plano de ejemplo (public/samples/plano-casa.svg) detecta los 18 tramos de muro, 11 columnas, 6 puertas, 5 ventanas y 15 vigas en menos de medio segundo.
| Patrón | Dónde | Para qué |
|---|---|---|
| Singleton | AppConfig, ApiClient, Session, MockDatabase, CatalogService | Una sola instancia compartida de la configuración, el cliente HTTP, la sesión y los datos |
| Observer | EventBus, appEvents, ActivityLogger, AppShell | Avisar cambios de ruta, sesión y estado de análisis sin acoplar componentes; el log de actividad escucha eventos |
| Template Method | View, ElementMeshCreator.create() | Pasos fijos (render → afterRender; construir → etiquetar) con detalles en las subclases |
| Strategy | RolePolicy (AdminPolicy, EngineerPolicy, StudentPolicy) y PlanAnalyzer (LocalVisionAnalyzer, SampleResponseAnalyzer, BackendAnalyzer) | Permisos según el rol y forma de analizar según el modelo de IA, intercambiables |
| Abstract Factory | RepositoryFactory → MockRepositoryFactory / ApiRepositoryFactory | Familias de repositorios (en el navegador o contra el backend) sin cambiar las vistas |
| Factory Method | AnalyzerFactory, ElementMeshFactory + creadores de mallas | Crear el analizador según ai_models.provider y la pieza 3D según el tipo de elemento |
| Facade | AnalysisFacade | Una sola llamada (run) esconde todo el proceso: registro, estados, IA, guardado y modelo 3D |
| State | AnalysisState (PendingState, ProcessingState, CompletedState, FailedState) | Ciclo de vida de un análisis y transiciones válidas |
| Builder | StructuralSceneBuilder | Armar la escena 3D paso a paso (fondo, elementos, terreno, luces) |
npm install
npm run dev
Para correr las pruebas: npm test. En cada pull request, GitHub Actions revisa los tipos, corre las pruebas y hace el build (.github/workflows/ci.yml).
Abre http://localhost:5173 y entra con una de las cuentas de prueba:
| Rol | Correo | Contraseña |
|---|---|---|
| Administrador | [email protected] | Admin123* |
| Ingeniero | [email protected] | Ingeniero123* |
| Estudiante | [email protected] | Estudiante123* |
VITE_DATA_SOURCE | Qué hace |
|---|---|
mock (por defecto en localhost) | Todo se guarda en el navegador. Funciona sin backend. |
hybrid | Inicio de sesión, catálogos, proyectos y planos van al backend; el resto, al navegador. Sirvió durante la migración. |
api (por defecto en producción) | Todo va al backend en VITE_API_URL, y los análisis se hacen en el servicio de IA (renderia-ai). Los endpoints están en docs/API.md. |
Si VITE_API_URL está vacía, en producción se usa https://renderia-backend.onrender.com/api/v1.
En desarrollo, Vite redirige /api a http://localhost:8080, así que no hace falta configurar CORS para probar con el backend local.
| Comando | Qué hace |
|---|---|
npm run dev | Inicia el servidor de desarrollo |
npm run build | Revisa los tipos y genera la versión de producción en dist/ |
npm run preview | Sirve localmente la versión de producción |
Render-ia/renderia-frontend.vercel.json ya trae la configuración).VITE_DATA_SOURCE=mock para la demo, o VITE_DATA_SOURCE=api y VITE_API_URL=https://<backend>/api/v1 cuando el backend esté publicado.main se publica de nuevo automáticamente.src/
├── analysis/ IA: estados, fachada, fábrica de analizadores
│ ├── analyzers/ Detector de visión local, respuesta de ejemplo, backend
│ └── vision/ Imagen binaria, muros, columnas, puertas y vigas
├── auth/ Sesión, servicio de autenticación y políticas por rol
├── core/ Configuración, eventos, cliente HTTP, enrutador, almacenamiento
├── data/ Contratos de repositorios y sus dos familias (mock y api)
├── models/ Tipos que reflejan las tablas de schema.sql
├── services/ Reglas de negocio: proyectos, planos, análisis, catálogos, actividad
├── ui/ Marco de la app, diálogos, avisos, superposición del plano
├── viewer/ Visor 3D: constructor de escena y creadores de mallas
├── views/ Pantallas (todas heredan de View)
└── styles/ Tokens de diseño y estilos por sección
| Repository | data/repositories.ts | Separar el acceso a datos de la lógica de las pantallas |
| Command | EditElementCommand, RemoveElementCommand, CommandHistory (analysis/commands) | Cada corrección a los elementos es un objeto que sabe aplicarse y revertirse: deshacer y rehacer (Ctrl+Z / Ctrl+Shift+Z) |