Monolito
Última actualización: 24-01-2026 07:37 PM
pVISOR - Backlog (Monolito)
Section titled “pVISOR - Backlog (Monolito)”1) Objetivo
Section titled “1) Objetivo”Publicar pVISOR V1.0 (WebGL Baseline) en Itch y embebirlo en la web personal, con:
- Navegación tipo Unity Scene View (WebGL-safe).
- Controles táctiles (Mobile WebGL): orbit/pan/pinch.
- Documentación suficiente para retomar sin re-explicar.
V1.1+ (expansión UX, no bloquea V1.0):
- Menú contextual RMB (UI mínima) que exponga acciones.
- Toggle Perspectiva/Ortográfico tipo Blender, con encuadre equivalente.
2) Definición de terminado (DoD)
Section titled “2) Definición de terminado (DoD)”2.1 DoD — V1.0 (WebGL Baseline)
Section titled “2.1 DoD — V1.0 (WebGL Baseline)”Build & distribución
- WebGL build ejecuta local (Build & Run) y en Itch.
- Embed en web personal funciona (iframe) sin romper input.
Controles (WebGL-safe)
-
Desktop WebGL:
- Orbit: LMB drag
- Pan: MMB drag
- Dolly: RMB drag
- Zoom: Wheel (Scroll Y)
- Frame: F
- Reset: R
-
Mobile WebGL (Touch):
- Orbit: 1 dedo drag
- Pan: 2 dedos drag (centroide)
- Zoom: pinch
- Nota: Pan + Zoom pueden ocurrir simultáneamente (2 dedos pan + pinch en el mismo gesto).
Robustez mínima
Frameencuadra correctamente el contenido bajoModelRoot.- No hay conflictos de bindings (orbit/pan/dolly/teclas).
- WebGL: no aparece el menú contextual del navegador al usar RMB sobre el canvas.
2.2 DoD — V1.1 (UX)
Section titled “2.2 DoD — V1.1 (UX)”Menú contextual (RMB click)
- RMB click abre menú; RMB drag se reserva para Dolly.
- El menú lista acciones del visor y muestra atajos si existen.
- Cierre: click fuera, Esc, o ejecutar acción.
Perspectiva / Ortográfico (tipo Blender)
-
Palterna Persp/Ortho sin cambiar yaw/pitch ni mover pivote. -
Al alternar, se mantiene el encuadre equivalente (conversión distance ↔ orthographicSize).
-
Zoom coherente:
- Persp: por
distance - Ortho: por
orthographicSize
- Persp: por
-
Frame()funciona en ambos modos.
3) Estado actual (hoy)
Section titled “3) Estado actual (hoy)”Ya está hecho (cerrado):
-
Controles “Unity-like” operativos:
- Orbit: LMB drag
- Pan: MMB drag
- Zoom: wheel
- Dolly: RMB drag
- Frame: F
- Reset: R
-
Arquitectura RED (Rt–Ev–Dt) + VContainer aplicada (mínimo profesional):
RtLifetimeScopecablea dependencias.DataSOguarda estado de input (held + acumulados).EventsSOemite señales sin payload (Frame/Reset).ViewerInputAdaptertraduce Input System → Dt/Ev.ViewerTouchGestureAdaptertraduce Touch → Dt.ViewerControllerorquesta y llama aOrbitCameraController.
-
ModelRootestablecido como enchufe estándar de contenido.
Validado (cerrado):
- Itch: probado y funcional (controles, wheel, clicks).
- Itch móvil: touch (orbit/pan/pinch) probado y funcional.
Pendiente (V1.0):
- Embed en web personal (iframe): foco/teclado/wheel/RMB.
Pendiente (calidad):
- Calibración fina de sensibilidad touch (orbit/pan/pinch).
4) Prioridad inmediata (próxima sesión)
Section titled “4) Prioridad inmediata (próxima sesión)”P0 — Embed real (iframe) + parche mínimo si hace falta
Section titled “P0 — Embed real (iframe) + parche mínimo si hace falta”Meta: confirmar que en embed funcionan foco/teclado/wheel/RMB y aplicar el parche mínimo si rompe.
Checklist:
-
Probar en Itch (host) y en tu web embebido (iframe):
- Desktop: LMB/MMB/RMB/Wheel + F/R.
- Mobile: orbit/pan/pinch.
- RMB click: confirmar que llega a Unity (aunque aún no haya menú en V1.0).
-
Registrar resultados:
- Si todo funciona → no tocamos template.
- Si RMB abre navegador → parche en template: bloquear
contextmenuen canvas. - Si wheel scrollea la página → parche en template: bloquear wheel sobre canvas.
- Si teclado no entra → estrategia de foco (click-to-focus / capture).
-
(Opcional) Revalidar en Itch solo si cambiaste template o inputs.
Entregable: lista corta de problemas reales + acción tomada.
5) Hitos y tareas
Section titled “5) Hitos y tareas”H0 — V1.0 Baseline WebGL (publicación real)
Section titled “H0 — V1.0 Baseline WebGL (publicación real)”- Build Release (solo si hubo cambios).
- Subida a Itch (ya).
- Prueba embed en web personal (iframe).
- Re-subir a Itch solo si cambiaste build/template.
H1 — Controles touch (QA + calibración)
Section titled “H1 — Controles touch (QA + calibración)”-
Calibrar sensibilidad touch.
- Ajustar
_orbitMultiplier,_panMultiplier,_pinchToScroll,_pinchThresholdPixels. - Registrar valores recomendados en Modularidad cuando queden definidos.
- Ajustar
-
Probar en Android (Chrome) y iOS (Safari) si aplica.
H2 — Menú contextual RMB (UI mínima) (V1.1)
Section titled “H2 — Menú contextual RMB (UI mínima) (V1.1)”- Implementar Canvas + panel + items (acción / atajo).
- Posicionar el menú en el puntero.
- Cierre (click fuera, Esc, selección).
- Conectar acciones: Frame / Reset / ToggleProjection.
- Regla: toda acción nueva se agrega al menú.
H3 — Toggle Perspectiva/Ortográfico (Blender-like) (V1.1)
Section titled “H3 — Toggle Perspectiva/Ortográfico (Blender-like) (V1.1)”- Implementar conversión equivalente (distance ↔ orthographicSize) usando FOV vertical.
- Ajustar zoom en ortográfico.
- Ajustar
Frame()en ortográfico. - Probar: sin saltos perceptibles, comportamiento estable.
H4 — Limpieza y robustez
Section titled “H4 — Limpieza y robustez”- Auto-frame: reemplazar “2 frames” por ejecutar la primera vez que bounds sea válido.
- (Si hace falta) filtrado de bounds: convención
ModelRoot/Geometryo filtro por capa. - (Si hace falta) desacoplar
ModelRootcomo “servicio de contenido” (solo si aparece necesidad real).
H5 — Fallback plan (solo si hay problemas reales)
Section titled “H5 — Fallback plan (solo si hay problemas reales)”Si el esquema base falla en WebGL embebido, activar fallback:
- Orbit:
LMB drag - Pan:
MMB drag+Shift+LMB - Zoom:
Scroll - Menú (si existe):
RMB click
Ideas futuras (no priorizar todavía):
- Doble tap: Frame a objeto / Frame a composición (si tap fuera).
- Long press: abrir menú contextual en mobile.
6) Matriz mínima de pruebas
Section titled “6) Matriz mínima de pruebas”6.1 Matriz V1.0 (Baseline)
Section titled “6.1 Matriz V1.0 (Baseline)”Navegadores: Chrome + Firefox.
Dispositivos: Android (Chrome) + iOS (Safari) si es posible.
Contextos:
- Local (Build & Run)
- Itch (host)
- Embed en web personal (iframe)
Checklist Desktop:
- Orbit (LMB drag)
- Pan (MMB)
- Zoom (Scroll)
- Dolly (RMB drag)
- Frame (F)
- Reset (R)
Checklist Mobile:
- Orbit (1 dedo)
- Pan (2 dedos)
- Pinch zoom
- Estabilidad (sin saltos al pasar 1→2 dedos)
- Verificar que el navegador no robe gestos (scroll/zoom página) sobre el canvas.
6.2 Matriz V1.1 (UX)
Section titled “6.2 Matriz V1.1 (UX)”- RMB menú (abre/cierra/ejecuta)
- ToggleProjection (P) + encuadre equivalente
- Frame/Reset también disponibles desde menú
7) Información que se documenta cuando exista (no bloquear)
Section titled “7) Información que se documenta cuando exista (no bloquear)”Cuando hagamos P0 (Itch + embed), documentar:
- Capturas de Itch (settings relevantes).
- HTML/iframe de embed (atributos importantes).
- Si hubo que tocar template WebGL: qué se cambió y por qué.
8) Reglas de ejecución (para no desviarnos)
Section titled “8) Reglas de ejecución (para no desviarnos)”- Primero probar en WebGL real (P0).
- No introducir UI permanente: solo menú contextual si entra en V1.1.
- No tocar arte/luces/materiales: eso vive en el contenido bajo
ModelRoot. - Cerrar un tema por vez: Baseline → Embed → QA touch → Menú → Proyección → Limpieza.