IconiShift · El Reto de la Marca

 # IconiShift · El Reto de la Marca


> **PWA Gamificada de Semiótica Visual e Iconicidad**  

> Estilo Art Déco · Curso: Semiótica de la Imagen · UTP 2026  

> Docente: Mg. Mario Quiroz Martinez


---


## Descripción


**IconiShift** es una Progressive Web App (PWA) autocontenida diseñada para la enseñanza gamificada de semiótica visual aplicada al diseño y la comunicación. La aplicación guía a los estudiantes a través de 5 retos progresivos y 4 misiones de auditoría semiótica, donde deben aplicar las teorías de **Peirce**, **Eco** y **Villafañe** para analizar, clasificar y proyectar signos visuales en contextos reales de diseño peruano e internacional.


La interfaz adopta una estética **Art Déco** con paleta dorado-negro, tipografías Cinzel y Poiret One, y elementos decorativos geométricos que evocan la década de 1920.


---


## Características Principales


| Característica | Descripción |

|---------------|-------------|

| **PWA Offline** | Service Worker integrado para funcionamiento sin conexión. Simulación de modo offline en el Reto III. |

| **Registro de Equipos** | Formulario de hasta 6 integrantes con campos: nombre, correo institucional, usuario, carrera, grupo y rol. |

| **5 Retos Progresivos** | Cápsula del Tiempo, Laboratorio Semiótico, Calibrador de Villafañe, Galería de Análisis Externo, Síntesis Semiótica. |

| **4 Misiones — Agencia de Inteligencia Visual** | Auditoría semiótica de la marca **Inca Kola** aplicando tricotomía de Peirce, figuratividad, escala de Villafañe y veredicto proyectual. |

| **Drag & Drop** | Clasificación interactiva de signos (Peirce) con soporte táctil para dispositivos móviles. |

| **Calibrador de Villafañe** | Slider interactivo con 11 niveles de iconicidad visual (postales de Bratislava). |

| **Subida de Imágenes** | 4 zonas de upload para análisis externo con compresión automática (JPEG, calidad 0.2, máx. 1200px). |

| **Lupa Interactiva** | Ampliación de imágenes del timeline histórico con overlay a pantalla completa. |

| **Modales Artísticos** | Contexto teórico detallado para cada época del timeline (1936-1970). |

| **Sistema XP e Insignias** | Acumulación de puntos por misión, 4 insignias desbloqueables y 3 rangos: Junior → Analista → Consultor Estratégico. |

| **Generación con IA** | Prompts predefinidos para Midjourney/DALL-E en los retos de análisis externo y branding. |

| **Guardado Automático** | Persistencia de respuestas, imágenes y progreso en `localStorage`. |

| **Exportación de Datos** | Botones para descarga en **CSV** e **impresión/PDF** con fondo negro y estilo Art Déco. |

| **Reporte de Impresión** | Sección oculta `#printReport` optimizada para impresión con fondo oscuro, tablas doradas y miniaturas. |

| **Celebración Visual** | Efectos de confeti, globos y estrellas doradas al completar retos. |

| **Responsive** | Diseño adaptado para pantallas desde 320px hasta 1920px, con optimización específica para 569px de ancho. |

| **Audio** | Botones de briefing de audio (placeholder para archivos de sonido). |


---


## Estructura de Retos y Misiones


### Retos Principales


1. **Reto I — La Cápsula del Tiempo**  

   Timeline interactivo (1936-1970) con lupa y modales artísticos. Pregunta cerrada sobre figuratividad. Debate en equipo abierto.


2. **Reto II — El Laboratorio Semiótico**  

   Drag & Drop de signos visuales en contenedores Ícono, Índice y Símbolo (Peirce/Eco). Justificación teórica abierta.


3. **Reto III — El Calibrador de Villafañe**  

   Slider de 11 niveles de iconicidad (postales de Bratislava). Pregunta cerrada sobre pictogramas. Defensa del proyecto abierta.


4. **Reto IV — Galería de Análisis Externo**  

   Upload de imágenes generadas con IA (cartel publicitario + señalética urbana). Dos preguntas cerradas (Villafañe + Eco).


5. **Reto V — Síntesis Semiótica**  

   Upload de branding peruano y emojis digitales. Dos preguntas cerradas (Peirce + Eco). Dos reflexiones integradoras abiertas.


### Misiones — Agencia de Inteligencia Visual (Inca Kola)


| Misión | XP | Enfoque |

|--------|-----|---------|

| M1: El Escáner de Peirce | 100 XP/elemento | Clasificación de 4 elementos (isotipo, logotipo, cromático, composición) |

| M2: El Misterio de la Forma | 150 XP | Figuratividad y elipsis visual |

| M3: El Termómetro de Villafañe | 150 XP | Escala de 9 niveles de iconicidad |

| M4: El Veredicto Proyectual | 200 XP | Diagnóstico crítico + propuesta de ajuste |


---


## Tecnologías Utilizadas


- **HTML5** semántico con atributos de accesibilidad

- **CSS3** con variables CSS personalizadas (paleta Art Déco)

- **Bootstrap 5.3.2** (CDN) — grid system y componentes base

- **Bootstrap Icons 1.11.1** (CDN)

- **Google Fonts**: Poiret One, Playfair Display, Cinzel

- **JavaScript vanilla** — sin frameworks adicionales

- **Service Worker** inline (Blob + URL.createObjectURL)

- **localStorage API** — persistencia de estado

- **Canvas API** — compresión de imágenes upload

- **FileReader API** — lectura de archivos locales

- **Clipboard API** — copia de prompts para IA


---


## Instalación y Uso


### Requisitos

- Navegador moderno con soporte para Service Workers (Chrome, Firefox, Edge, Safari)

- Conexión a Internet para carga inicial de recursos CDN


### Instalación PWA

1. Abrir el archivo `index.html` en un servidor web local o hosting

2. El navegador detectará automáticamente el manifiesto PWA

3. Usar "Agregar a pantalla de inicio" o "Instalar aplicación" desde el menú del navegador

4. La app funcionará en modo standalone con fondo negro `#0a0a0a`


### Flujo de Uso

1. **Registro de equipo** (1-6 integrantes)

2. **Revisión y confirmación** de datos

3. **Onboarding** con briefing de misión

4. **Completar los 5 retos** en orden progresivo

5. **Acceder a las 4 misiones** de la Agencia de Inteligencia Visual

6. **Ascender a Consultor Estratégico** al completar ≥3 misiones

7. **Exportar CSV** o **imprimir PDF** del reporte completo


---


## Archivos del Sistema


```

index.html          # Aplicación completa (HTML + CSS + JS inline)

├── Imágenes referencia (esperadas en ruta relativa):

│   ├── 2.png, 3.jpg, 6.png, 7.jpg, 9.jpg    # Timeline histórico

│   ├── a_1.png ... a_11.png                   # Escala Villafañe (11 niveles)

│   ├── Swoosh_Nike.jpg                        # Logo Nike

│   ├── Salida_emergencia.jpg                  # Pictograma ISO 7010

│   ├── Incacola.png                           # Logo Inca Kola

│   ├── bigBrenetAviator.jpg                   # Fallback 1936

│   ├── becomeanurse.jpg                     # Fallback 1943

│   ├── bigBoccasileVigorelli.jpg             # Fallback 1950

│   ├── bigLucCarnival.jpg                     # Fallback 1960

│   └── bigRingo.jpg                           # Fallback 1970

└── Sonidos (opcionales):

    ├── click.mp3

    ├── success.mp3

    └── celebration.mp3

```


---


## Estado Global (`localStorage`)


La aplicación persiste automáticamente en `localStorage` bajo la clave `iconishift_deco_v3_state`:


```json

{

  "currentScene": "scene-registro",

  "progress": 0,

  "team": [...],

  "answers": { "q1": null, "q3": null, ... },

  "uploads": { "upload1": "data:image/jpeg;base64,...", ... },

  "xp": 0,

  "badges": [],

  "m1Completed": 0,

  "m2Completed": 0,

  "m3Level": null,

  "m4Completed": false

}

```


---


## API de Funciones Principales


### Navegación

- `goToScene(sceneId)` — Transición entre escenas con animación fade-in

- `startGame()` — Inicia operación semiótica desde onboarding


### Registro de Equipo

- `addTeamMember()` — Valida y agrega integrante

- `removeMember(index)` — Elimina integrante

- `showTeamReview()` / `confirmTeam()` — Flujo de revisión


### Validación de Retos

- `validateQ1()` a `validateQ7()` — Preguntas cerradas con retroalimentación

- `validateVillafane()` — Calibración del slider

- `checkReto2Completion()` — Drag & Drop (mínimo 3 aciertos)

- `checkReto4()` / `checkReto5()` — Verificación de pares de respuestas


### Misiones — Inca Kola

- `selectM1Incacola(element, value, btn)` — Selección en Escáner de Peirce

- `validateM1()` a `validateM4()` — Validación de misiones con sistema XP

- `updateVillafaneM3(val)` — Slider de 9 niveles para Termómetro


### Utilidades

- `saveState()` / `loadState()` — Persistencia localStorage

- `saveOpenAnswer(key, value)` — Guardado automático de textareas

- `handleImageUpload(event, previewId, areaId, uploadKey)` — Compresión y preview

- `copyPrompt(elementId, btn)` — Copia prompts para IA generativa

- `printFullReport()` — Generación de reporte impreso con estilo Art Déco

- `exportCSV()` — Descarga de datos en formato CSV separado por punto y coma

- `triggerCelebration()` — Efectos visuales de celebración


---


## Paleta de Colores (Art Déco)


| Variable | Valor | Uso |

|----------|-------|-----|

| `--deco-gold` | `#d4af37` | Elementos principales, acentos |

| `--deco-gold-light` | `#f0d878` | Hover, brillos |

| `--deco-gold-dark` | `#aa8c2c` | Bordes, sombras |

| `--deco-black` | `#0a0a0a` | Fondo principal |

| `--deco-charcoal` | `#141414` | Tarjetas, contenedores |

| `--deco-cream` | `#f5f5dc` | Texto principal |

| `--deco-burgundy` | `#800020` | Errores, alertas |

| `--deco-emerald` | `#046307` | Éxito, aciertos |

| `--deco-bronze` | `#cd7f32` | Advertencias, información secundaria |

| `--deco-silver` | `#c0c0c0` | Texto terciario, metadatos |


---


## Licencia y Atribución


- **Desarrollo académico**: Instituto de Diseño y Comunicación (IDC) / Universidad Tecnológica del Perú (UTP)

- **Docente**: Mg. Mario Quiroz Martinez

- **Curso**: Semiótica de la Imagen

- **Año**: 2026

- **Framework CSS**: Bootstrap 5.3.2 (MIT License)

- **Iconos**: Bootstrap Icons 1.11.1 (MIT License)

- **Tipografías**: Google Fonts (Open Font License)


---


## Notas Técnicas


- **Compresión de imágenes**: Las imágenes upload se redimensionan a máximo 1200px de ancho y se comprimen a JPEG calidad 0.2 para optimizar `localStorage` (límite ~5-10 MB).

- **Service Worker**: Generado dinámicamente mediante Blob para evitar dependencias de archivos externos. Cachea únicamente la ruta raíz (`./`).

- **Impresión**: La media query `@media print` fuerza fondo negro `#0a0a0a` y colores dorados mediante `-webkit-print-color-adjust: exact`.

- **Responsive**: Breakpoint principal en `576px`. El calibrador Villafañe usa `aspect-ratio: 813/617` en móviles.

- **Accesibilidad**: Todos los inputs tienen labels asociados, roles ARIA implícitos en elementos semánticos, y contraste dorado-sobre-negro WCAG AA.


---


*IconiShift · El Reto de la Marca — Restaurando el orden semiótico, un signo a la vez.*


Comentarios

Entradas populares de este blog

Diseños Institucionales con Adobe Illustrator: Uso de Data Merge y Scripts

Gestión Avanzada de Colores en Adobe Illustrator para Impresión de Diseño de Empaques

Creación y Configuración de Áreas de Sangrado en Adobe Illustrator para Diseño de Etiquetas y Packaging