10 Commits

4 changed files with 1295 additions and 431 deletions

View File

@@ -4,6 +4,19 @@
## 🔄 Historial de Versiones
### Hash: `gkachele-elementor-restaurante-20260221-v22`
**Fecha:** 21 Febrero 2026
**Estado:** OK funcional (mejorable)
#### Cambios:
- OK Drawer Pro estabilizado: apertura/cierre, overlay, z-index, lock scroll, Escape/foco y sync por viewport.
- OK Reset de builder corrige limpieza de bloques + settings.
- OK Se evita autoload de plantilla cuando ya hay estado guardado.
- OK Tema restaurante sin colores duros por bloque; vuelve a depender de variables editables.
- OK Se restaura comportamiento de ancho/contenedor para no romper bloques al 100%.
- Pendiente: QA manual de cada icono del menu en preview final (plan siguiente lote).
---
### Hash: `gkachele-elementor-apple-20260209-v14`
**Fecha:** 09 Febrero 2026
**Estado:** OK Fase 1
@@ -238,6 +251,8 @@
**© 2025 GKACHELE™. Todos los derechos reservados.**
## 🔄 Historial de Versiones
### Hash: `gkachele-builder-docs-20260208-v1`
**Fecha:** 08 Febrero 2026
**Estado:** ✅ Documentado
@@ -259,3 +274,6 @@
- `memoria/ESTADO_ACTUAL.md` marcado como historico para evitar decisiones con contexto 2025.
---

View File

@@ -1,6 +1,6 @@
# Memoria Codex - GKACHELE
**Fecha de corte:** 14 Febrero 2026
**Fecha de corte:** 22 Febrero 2026
## Fuente de verdad (estado IA)
- `codex/VERSIONADO_IA.md`
@@ -9,21 +9,23 @@
## Punto exacto
- Rama activa: `ai/ub24-builder-v1`
- Commit HEAD: `6d696c4`
- Commit de referencia funcional: `e83e915`
- Version base builder: `gkachele-elementor-templates-20260210-v21`
- Estado de sync local/remoto al corte: `0/0`
- Estado de sync local/remoto al corte: `3/0`
## Estado actual funcional
- Builder visual operativo en `/elementor/<site_id>`.
- Drag/drop y resize fluido en canvas.
- Inspector para estilos y contenido.
- Modo libre con snapping.
- Preview limpio y menu por modos (horizontal/acordeon/ambos).
- Menu mobile con modo `Drawer Pro` estabilizado (apertura/cierre, overlay, escape, foco, lock scroll).
- Reset corrige bloques + settings y evita recarga de plantilla por autoload no deseado.
- Tema restaurante mejorado, pero aun con ajustes pendientes de calidad fina.
## Pendientes inmediatos
- Cargar bloques reales por plantilla de rubro (no solo look-and-feel).
- Definir persistencia de resenas al publicar.
- Integrar calendario real (Calendly/Google).
- Revisar cada icono del menu en preview final (flujo completo, uno por uno).
- Validar responsive del menu (desktop/tablet/mobile) con focus y accesibilidad.
- Ajuste fino visual del tema restaurante (estado "mejorable").
- Consolidar puente Builder -> SaaS (`/customizer/<id>`).
## Flujo operativo memorizado
@@ -32,5 +34,11 @@
3. Push a `origin/ai/ub24-builder-v1` en cada lote validado.
4. Actualizar hash y estado en `codex/VERSIONADO_IA.md`.
## Metodo acordado (memorizado)
- Misma rama + control por hash/revert.
- Fixes acotados (un archivo por lote cuando aplique).
- Probar inmediatamente cada cambio antes de avanzar.
- Sin commit/push hasta orden explicita del usuario.
## Comando de arranque
- `python -m demo.app` desde `c:\word`

View File

@@ -1,159 +1,127 @@
# Versionado IA - UB24/Elementor
# Versionado IA - UB24 / Elementor
## Rama de trabajo
- `ai/ub24-builder-v1`
## 0) Protocolo Bloqueante (siempre)
1. Definir objetivo del lote en 1 linea.
2. Tocar un solo archivo por fix (salvo excepcion aprobada).
3. Hacer un solo cambio por intento.
4. Probar inmediatamente con flujo fijo acordado.
5. Si falla, revert inmediato por hash/commit (sin encadenar parches).
6. Si pasa, commit atomico con mensaje semantico.
7. Push solo con orden explicita del usuario.
8. Antes de declarar estado, verificar sync real (`fetch` + `rev-list`).
## Estado de sincronizacion (14 Febrero 2026)
- Local: `ai/ub24-builder-v1`
- Remoto: `origin/ai/ub24-builder-v1`
- Divergencia verificada: `0/0` (sin commits pendientes entre local y remoto)
## 1) Objetivo
Definir un proceso de versionado auditable, reproducible y estable para el desarrollo del builder UB24.
## Regla de trabajo
1. Cada cambio funcional se guarda en un commit separado.
2. Cada commit se registra con su hash.
3. Cada commit debe incluir comando de reversion rapida.
4. La rama debe quedar sincronizada con remoto al cerrar bloque de trabajo.
## 2) Estado actual verificado
- Fecha de verificacion: `2026-02-22`
- Rama activa: `ai/ub24-builder-v1`
- Upstream: `origin/ai/ub24-builder-v1`
- Divergencia local/remoto: `3 0`
- Comando usado:
- `git rev-list --left-right --count ai/ub24-builder-v1...origin/ai/ub24-builder-v1`
## Convencion de mensaje
## 3) Politica de versionado
1. Commits atomicos por cambio funcional.
2. Mensajes bajo convencion semantica.
3. Reversion siempre definida por commit.
4. Cada bloque validado se empuja a remoto.
5. No mezclar cambios de infraestructura con cambios de UX en el mismo commit.
## 4) Convencion de commits
- `feat(builder): ...`
- `fix(builder): ...`
- `refactor(builder): ...`
- `chore(versioning): ...`
- `docs(builder): ...`
## Flujo con Gitea
1. Trabajo local en `ai/ub24-builder-v1`.
2. Push continuo a `origin/ai/ub24-builder-v1`.
3. Merge cuando validemos en local y Raspberry.
## Protocolo fijo de sincronizacion (siempre)
1. Verificar rama activa: `git branch --show-current`
2. Actualizar referencias remotas: `git fetch origin --prune`
3. Medir divergencia: `git rev-list --left-right --count ai/ub24-builder-v1...origin/ai/ub24-builder-v1`
4. Si el resultado no es `0 0`, sincronizar antes de continuar.
5. Despues de cada lote validado:
## 5) Flujo obligatorio por sesion
1. Verificar rama activa:
- `git branch --show-current`
2. Actualizar referencias remotas:
- `git fetch origin --prune`
3. Verificar divergencia:
- `git rev-list --left-right --count ai/ub24-builder-v1...origin/ai/ub24-builder-v1`
4. Si no es `0 0`, sincronizar antes de editar.
5. Al cerrar lote validado:
- `git add <archivos>`
- `git commit -m "tipo(scope): mensaje"`
- `git push origin ai/ub24-builder-v1`
6. Registrar hash y objetivo en este archivo y en `codex/HISTORIAL_CAMBIOS.md`.
## Registro de hashes
### Baseline
- Commit: `cb99f26`
- Objetivo: crear rama y politica de versionado para trabajo IA.
- Revert:
- `git revert <hash>`
- `git reset --hard <hash_anterior>` (solo con aprobacion explicita)
## 5.1) Metodo de ejecucion memorizado (obligatorio)
1. Misma rama activa (`ai/ub24-builder-v1`), sin ramas paralelas para fixes rapidos.
2. Control por hash/revert: si un intento falla, revert inmediato por commit.
3. Un archivo por fix cuando sea posible (evitar mezclar cambios laterales).
4. Validacion funcional inmediata despues de cada microcambio.
5. No commit/push sin orden explicita del usuario.
### Correccion historial
- Commit: `fe8657e`
- Objetivo: revertir commit no deseado y mantener separacion de cambios.
- Revert:
- `git revert fe8657e`
## 6) Protocolo de arranque local
- Comando canonico:
- `python -m demo.app`
- URL canonica:
- `http://127.0.0.1:5001`
- Builder:
- `http://127.0.0.1:5001/elementor/1`
- Verificacion rapida:
- `Invoke-WebRequest http://127.0.0.1:5001/elementor/1 -UseBasicParsing`
### Fix local Elementor
- Commit: `22e564e`
- Objetivo: robustecer arranque local y carga de themes en Windows (BOM + logs seguros).
- Revert:
- `git revert 22e564e`
## 7) Criterios de estabilidad (no negociables)
1. No tocar funcionalidades estables sin requerimiento explicito.
2. Mantener una sola estrategia de layout y DnD por flujo.
3. Mantener una sola ruta de guardado activa:
- `/api/elementor/save`
4. Validar guardado/publicacion antes de cerrar lote.
5. Evitar cambios amplios si un fix local resuelve el problema.
### Fase 1 Builder (visual pro)
- Commit: `1c04f04`
- Objetivo: consolidar estilos reutilizables y subir calidad visual en hero, features, cards y contact del preview.
- Revert:
- `git revert 1c04f04`
## 8) Registro de commits relevantes
| Fecha | Commit | Tipo | Objetivo | Revert recomendado |
|---|---|---|---|---|
| 2026-02-21 | `e83e915` | fix | Estabilizar Drawer Pro, reset real de builder y restaurar tema restaurante editable + ancho | `git revert e83e915` |
| 2026-02-14 | `cb99f26` | chore | Crear rama y politica inicial de versionado IA | `git revert cb99f26` |
| 2026-02-14 | `fe8657e` | fix | Revertir commit no deseado y limpiar historial | `git revert fe8657e` |
| 2026-02-14 | `22e564e` | fix | Robustecer arranque local/theme load en Windows | `git revert 22e564e` |
| 2026-02-14 | `1c04f04` | feat | Mejora visual base (hero/features/cards/contact) | `git revert 1c04f04` |
| 2026-02-14 | `7c5f671` | fix | Limpieza preview/menu y ajustes de ancho | `git revert 7c5f671` |
| 2026-02-14 | `dd98e9d` | fix | Preview limpio y menu por modos | `git revert dd98e9d` |
| 2026-02-15 | `1a5778b` | refactor | Runtime unificado `python -m demo.app` + blueprint Elementor | `git revert 1a5778b` |
| 2026-02-15 | `8ac360b` | feat | Educacion V2 + correccion de anclas | `git revert 8ac360b` |
| 2026-02-15 | `f6d8ab1` | fix | Corregir wrapper SQLite para evitar fallo de arranque | `git revert f6d8ab1` |
| 2026-02-15 | `b6fb4da` | feat | API dedicada `/api/elementor/save` con opcion publicar | `git revert b6fb4da` |
| 2026-02-15 | `c2ee81d` | fix | Persistencia de bloques + feedback de publish | `git revert c2ee81d` |
| 2026-02-15 | `e20f086` | fix | Preview full-page y layout estable por secciones | `git revert e20f086` |
| 2026-02-15 | `e5df6de` | feat | Full width + soporte real de 2 columnas | `git revert e5df6de` |
| 2026-02-15 | `a6089ee` | feat | Drag inteligente por drop + preview en nueva pestana | `git revert a6089ee` |
| 2026-02-15 | `f9f7d23` | fix | Quitar layout global y forzar preview completo | `git revert f9f7d23` |
| 2026-02-15 | `f363eef` | fix | Correccion de texto/UI + modo libre + `?full=1` | `git revert f363eef` |
| 2026-02-16 | `6f14308` | fix | Unificar layout y estabilizar redimension en canvas | `git revert 6f14308` |
### Ajustes Builder (limpieza + preview + ancho)
- Commit: `7c5f671`
- Objetivo: quitar texto en barra Apple, limpiar menu vacio, preview local funcional sin salir de builder, ancho desktop al 100%, control de ancho por bloque y descripcion en bloque video.
- Revert:
- `git revert 7c5f671`
## 9) Decisiones funcionales vigentes
- Rubros oficiales permitidos:
- `restaurante`
- `danza`
- `cosmeticos`
- `despachos`
- `gimnasios`
- `educacion`
- `base_otro`
- Preview final separada habilitada:
- `GET /elementor/<site_id>/preview-final`
- `GET /ub24/<site_id>/preview-final`
- Motor de reordenamiento seleccionado para DnD:
- `SortableJS` (estrategia unica)
### Ajustes Builder (preview limpio + menu modos)
- Commit: `dd98e9d`
- Objetivo: mejorar vista previa (forzar modo limpio y restaurar estado), eliminar precarga automatica de bloques, y agregar modo de menu (horizontal/acordeon/ambos).
- Revert:
- `git revert dd98e9d`
## 10) Pendientes priorizados
1. QA manual de cada icono/accion del menu superior en preview final (siguiente lote).
2. Footer global obligatorio con autoria del proyecto.
3. Watermark de autoria en codigo bajo convencion unica.
4. Flujo dual estable de preview (editor/pagina real).
5. Mejora de interaccion touch/capacitiva del builder.
### Runtime unificado (app + elementor)
- Commit: `1a5778b`
- Objetivo: unificar arranque con `python -m demo.app` y registrar blueprint de Elementor en runtime principal.
- Revert:
- `git revert 1a5778b`
## 11) Referencias cruzadas
- Historial funcional detallado: `codex/HISTORIAL_CAMBIOS.md`
- Arranque rapido local: `codex/ARRANQUE_RAPIDO_UB24.md`
- Flujo general del proyecto: `codex/FLUJO_PROYECTO.md`
### Fix SQLite wrapper (arranque sin error SQL)
- Commit: `f6d8ab1`
- Objetivo: evitar conversiones SQL invalidas en SQLite que rompian inicializacion y generaban reintentos.
- Revert:
- `git revert f6d8ab1`
## 12) Nota operativa
Este archivo define el estandar de trabajo. Cualquier cambio de proceso debe registrarse en un commit `chore(versioning)` y quedar reflejado aqui.
### API Elementor save/publish
- Commit: `b6fb4da`
- Objetivo: agregar endpoint dedicado `/api/elementor/save` para guardar builder con opcion de publicar.
- Revert:
- `git revert b6fb4da`
### Builder persistencia y feedback de publicacion
- Commit: `c2ee81d`
- Objetivo: mantener bloques cargados al entrar, normalizar bloques sin id y mostrar estado de guardado/publicacion en topbar.
- Revert:
- `git revert c2ee81d`
### Preview full-page + layout estable
- Commit: `e20f086`
- Objetivo: hacer que vista previa ocupe pagina completa y forzar layout por secciones (sin modo libre por defecto) para alinear bloques.
- Revert:
- `git revert e20f086`
### Full width + dos columnas por bloque
- Commit: `e5df6de`
- Objetivo: expandir ancho util del canvas y habilitar 2 columnas reales con toggle "Ancho completo" por bloque.
- Revert:
- `git revert e5df6de`
### Drag inteligente columnas + preview completo
- Commit: `a6089ee`
- Objetivo: permitir decidir 1 o 2 columnas moviendo bloques al soltar (centro=ancho completo, lados=media columna) y agregar opcion de preview completo en nueva pestana.
- Revert:
- `git revert a6089ee`
### Quitar layout global + preview completo real
- Commit: `f9f7d23`
- Objetivo: eliminar toggle global de 2 columnas; mantener decision 1/2 columnas solo por movimiento de bloques; y forzar preview completo sin margenes.
- Revert:
- `git revert f9f7d23`
### Fix final dia: texto, modo libre y full preview
- Commit: `f363eef`
- Objetivo: reparar caracteres mojibake en UI, habilitar modo libre real para mover bloques completos y forzar modo completo con `?full=1`.
- Revert:
- `git revert f363eef`
## URL local canonica (unificada)
- Base local: `http://127.0.0.1:5001`
- Builder local: `http://127.0.0.1:5001/elementor/1`
- Regla: usar siempre `127.0.0.1` (no `localhost`) en scripts, pruebas y documentacion local.
## Arranque rapido local (Windows)
1. Desde `c:\word`, ejecutar:
- `python -m demo.app`
2. Abrir:
- `http://127.0.0.1:5001/elementor/1`
3. Verificacion rapida:
- `Invoke-WebRequest http://127.0.0.1:5001/elementor/1 -UseBasicParsing`
Notas:
- En el primer arranque puede tardar unos segundos adicionales por inicializacion de DB.
- Logs:
- `c:\word\logs_demo_app.txt`
- `c:\word\logs_demo_app.err`
## Control de rama (local/remoto)
- Rama local activa: `ai/ub24-builder-v1`
- Upstream remoto: `origin/ai/ub24-builder-v1`
- Estado al registrar: `en sync (0/0)` al 14 Febrero 2026
- Politica: commits atomicos + push por lote validado + verificacion de divergencia al inicio y al cierre.
## Fases memorizadas (builder)
1. Fase 1 (UI Pro base): navbar premium, hero premium, sistema de espaciado/grid, pulido visual consistente.
2. Fase 2 (estructura): separar renderers por bloque y reducir inline styles para automatizacion.
3. Fase 3 (presets): presets por rubro + reglas responsive + variantes exportables.

File diff suppressed because it is too large Load Diff