--- name: maludocs description: Los documentos de Maluplast, de una sola pieza — cómo se ven (sistema visual del catálogo Home Care: lienzo 16:9, Montserrat, rojo #ce2441 sobre vino #560a25, tarjetas grises y banda roja de dato) y cómo se estructuran para que la Biblioteca los lea como hechos (una entidad por página, datos como pares rótulo → valor con unidad, secciones en mayúsculas). Úsalo SIEMPRE que haya que producir un PDF, deck, catálogo, ficha, propuesta, lista, especificación, informe o lámina de Maluplast, se presente a un cliente, se suba a la Biblioteca, o las dos cosas; y antes de cargar cualquier documento a la Biblioteca (cata previa). También al retocar piezas existentes. --- # Maludocs — los documentos de Maluplast **Regla de la casa: se presenta y se sella el mismo archivo.** Toda pieza nace con la estética de Maluplast y, a la vez, legible por Maludocs (la conversión de la Biblioteca). No hay una versión «bonita» y otra «para el orbe»: es una sola, y la cata previa lo confirma antes de cargar. ## Tres formatos, un solo ADN | Formato | Lienzo | Para qué | Cómo se lee | |---|---|---|---| | **Lámina** | 960 × 540 (16:9) | Presentar: propuestas, decks, catálogos | Entidad en el título, datos en campos etiqueta/valor y banda roja | | **Ficha** | 960 × 540 (16:9) | Una entidad por lámina: producto, caja, pallet, bolsa | Título = entidad · sección en mayúsculas · campos etiqueta/valor · banda con el dato | | **Lista** | A4 vertical | Muchas líneas por entidad: precios por cliente, especificaciones | Una página por entidad de página (cliente) · una línea por ítem con segmentos « · » | Cuando el orbe necesita una tabla larga y el cliente una lámina, la fuente es **una sola** (la hoja o el JSON) y un generador produce las dos salidas del mismo golpe; la lista puede ir como anexo al final del mismo PDF. ## El sistema visual La línea gráfica del catálogo Home Care, extraída del archivo real y convertida en sistema reproducible. **Regla de uso:** toda pieza que se produzca con este skill debe poder ponerse al lado del catálogo Home Care sin que se note el corte. Si un valor no está en esta hoja, no se inventa: se busca el más cercano que sí esté. --- ## El ADN en una línea > Lienzo apaisado 16:9 · Montserrat · rojo Maluplast sobre vino oscuro · fondo blanco · mucho aire · un solo dato grande por lámina. --- ## Lienzo y rejilla | Qué | Valor | |---|---| | Tamaño | **960 × 540 px** (16:9). No A4. | | Fondo | `#ffffff` siempre. Nunca color de fondo salvo lámina de portada. | | Margen izquierdo/derecho | **45 px** | | Margen superior | **32 px** (eyebrow) | | Rejilla de 3 columnas | x = 75 · 377 · 678, ancho 260 | | Rejilla de 2 columnas | izquierda 45–460, derecha 488–915 | | Separación entre bloques | 20 px | La rejilla de 3 columnas es la firma del catálogo: se usa para "tres razones", "tres etapas", "tres opciones". --- ## Colores ``` --rojo #ce2441 marca, eyebrows, números de sección, bandas de dato --vino #560a25 títulos y valores de campo --gris-texto #595959 cuerpo de párrafo --gris-rotulo #8c8c8c rótulos de campo y notas al pie --gris-card #f7f5f6 fondo de tarjeta --linea #e5e6ea divisorias de 1 px --rosa-claro #f6d0d8 texto secundario sobre fondo rojo --rosa-medio #e07a8d acentos y escalas intermedias --blanco #ffffff fondo y texto sobre rojo ``` **Reglas de color, no negociables:** - El rojo nunca se usa para párrafos. Solo eyebrow, número, dato destacado o banda. - Los títulos van en vino `#560a25`, nunca en negro ni en rojo. - Sobre fondo rojo: título en blanco, secundario en `#f6d0d8`. - Una sola banda roja por lámina. Dos bandas rojas se anulan. - Para escalas graduadas (barras, rangos) se interpola de `#f6d0d8` a `#ce2441`. --- ## Tipografía · Montserrat Instalada en el sistema (`~/Library/Fonts`). Tres pesos, ninguno más. | Rol | Peso | Tamaño | Color | Notas | |---|---|---|---|---| | Eyebrow | SemiBold | 10.5 | `#ce2441` | `letter-spacing: .34em` en mayúscula | | Título de lámina | ExtraBold | 26 | `#560a25` | una línea, sin punto final | | Dato hero | ExtraBold | 58 | `#ce2441` o `#560a25` | uno solo por lámina | | Número de sección | ExtraBold | 34 | `#ce2441` | 01 · 02 · 03 | | Subtítulo de bloque | ExtraBold | 18 | `#560a25` | | | Rótulo de campo | SemiBold | 9 | `#8c8c8c` | `letter-spacing: .22em` en mayúscula | | Valor de campo | SemiBold | 13.5 | `#560a25` | | | Cuerpo | Regular | 13 | `#595959` | interlineado 1.6 | | Nota al pie | Regular | 10.5 | `#8c8c8c` | | | Dato sobre banda roja | ExtraBold | 25 | `#ffffff` | | **Jerarquía:** si algo va grande, es lo único que importa en esa lámina. Dos números del mismo tamaño se anulan mutuamente. --- ## Los seis componentes Todos están escritos y listos en `assets/plantilla.html`. El detalle de cada uno, con su código, está en `references/componentes.md`. 1. **Eyebrow + título** — abre toda lámina. Rótulo rojo espaciado arriba, título vino debajo. 2. **Tarjeta gris** — bloque `#f7f5f6` sin borde, radio 6, padding 28. Se usan de a tres. 3. **Número de sección** — 01/02/03 en rojo 34 ExtraBold sobre la tarjeta. 4. **Campo etiqueta/valor** — rótulo gris espaciado, valor vino debajo, divisoria de 1 px `#e5e6ea`. Es la ficha técnica del catálogo. 5. **Banda roja de dato** — rectángulo `#ce2441` alto 66, rótulo en `#f6d0d8` a la izquierda y cifra blanca 25 a la derecha. Cierra la lámina de ficha. 6. **Barras a escala** — barras proporcionales al dato real, coloreadas de `#f6d0d8` a `#ce2441` según magnitud, con el valor encima en rojo y la etiqueta debajo en gris. --- ## Anatomía de las tres láminas madre **Lámina de sección (tres columnas)** Eyebrow · título 26 · tres tarjetas grises con número rojo, subtítulo vino 18 y párrafo gris 13. **Lámina de ficha (dos columnas)** Título 26 arriba · código en eyebrow rojo debajo · imagen del producto a la izquierda con su nota al pie · campos etiqueta/valor a la derecha separados por divisorias · banda roja de dato abajo a la derecha. **Lámina de gráfico** Eyebrow · título 26 · párrafo de una o dos líneas · el gráfico ocupando dos tercios inferiores · rótulo del eje en mayúscula espaciada gris. --- ## Reglas duras - **Nunca** más de un dato grande por lámina. - **Nunca** bordes en las tarjetas. El contraste lo da el fondo gris. - **Nunca** sombras, degradados ni bordes redondeados grandes. Radio máximo 6. - **Nunca** texto sobre imagen del producto. - Las mayúsculas espaciadas se reservan para eyebrows y rótulos de campo. Nunca para títulos ni párrafos. - Los párrafos no pasan de 4 líneas ni de 60 caracteres por línea. - Todo superlativo lleva su nota al pie con la condición de medición. - El pie de página, si existe, va en 7 px `#a0a0a0` con `letter-spacing: .14em` en mayúscula. --- ## Cómo se produce Se escribe HTML y se imprime con Chrome headless. Nunca PowerPoint. ```bash "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless --disable-gpu \ --no-pdf-header-footer --print-to-pdf="/Users/rolo/Downloads/PIEZA.pdf" \ "file:///ruta/al/archivo.html" ``` En el CSS: `@page { size: 960px 540px; margin: 0 }` y cada lámina como `.slide` de 960×540 con `page-break-after: always`. **Después de generar, siempre:** 1. Rasterizar con PyMuPDF a 52–58 dpi y revisar cada lámina buscando solapes y textos cortados. 2. Abrir el PDF en Acrobat con `open -a "Adobe Acrobat"`. 3. Entregar el link markdown a la ruta local. --- ## Estructura: cómo lo lee Maludocs Cada regla evita un fallo visto en la batería real. 1. **Una entidad por página, en la primera línea.** Producto con medidas o unidades («Bolsa de basura 45 x 55 cm · 20 unidades»), o código («Código 1726268»). En listas por cliente, el cliente es la primera línea de su página. Una frase no es una entidad. 2. **Los datos van como pares.** «Rótulo» en una línea y «valor con unidad» en la siguiente, o «Rótulo: valor». Un número dentro de una frase («altura objetivo 170 cm, mínimo 150») **no se extrae**: si importa, sácalo a un par («Altura objetivo del pallet / 170 cm»). 3. **Unidad siempre.** kg, cm, L, und, micras, %; moneda como prefijo (S/ 4.46, USD 0.634). Declara si el precio es con o sin IGV y por unidad o por empaque. 4. **Secciones en MAYÚSCULAS** para agrupar rótulos («LA CAJA», «EL PALLET», «ESPECIFICACIÓN»). Así «peso de la caja» y «peso del pallet» no se confunden. Un calificador de unidad va debajo del rótulo en minúsculas («PRECIO FOB CALLAO» / «USD por paquete» / «$ 0.634»). 5. **Tablas resumen:** cabecera con una columna por línea (un fragmento que continúa empieza en minúscula o entre paréntesis), y por fila la clave primero y luego un valor por línea. Mejor todavía: una página por entidad con sus pares. 6. **Listas largas (precios, catálogos):** una línea por ítem con segmentos separados por « · » («PRODUCTO · Categoría · Marca · 100 unidades por empaque · precio de lista S/ 45.00 por el empaque de 100 · equivale a S/ 0.4500 por unidad»). El número siempre pegado a su unidad. 7. **Cada página se cita sola.** Repite en cada página el título del documento, la entidad de la página y la fecha de corte; la Biblioteca cita documento + página, y el orbe puede leer una sola. 8. **Números sin ambigüedad.** Punto decimal (0.140); miles con espacio fino (7 176) o sin separador. «1.179 kg» se lee como mil ciento setenta y nueve. 9. **Lo cualitativo, una idea por párrafo** con la palabra clave al inicio, y una línea **«Responde: ¿…?»** con la pregunta que esa página contesta; Maludocs la indexa como término. 10. **Primera página = ficha del sello:** título, proyecto, tipo, destinatario, fecha, vigencia, cómo leer el documento y **qué no dice** (sin IGV, sin descuentos, sin costos…). 11. **No pongas datos solo en gráficos ni en imágenes.** Todo dato clave también como texto. ## Antes de cargar: la cata previa ```bash python3 assets/maludocs_cata.py "archivo.pdf" # desde la carpeta del skill; necesita pymupdf ``` Muestra por página la entidad detectada, los hechos (y cuáles quedan «débiles»: sin unidad ni rótulo de conteo, solo el modelo los usará) y una lista «Antes de subirlo». Corrige y vuelve a correr hasta que diga «Listo para cargar». Luego el flujo en la Biblioteca: cargar → convertir → agregar. `assets/maludocs.py` es la conversión entera, sin dependencias. ## Qué NO es para este skill - Diagramas técnicos isométricos: `maludraw`. Qué se dice y qué se promete: `maluway`. - Interfaces y productos digitales de Maluworld: ahí manda `maluway`. - Decks de puras láminas de marketing sin datos: se pueden cargar, pero sus hechos serán flojos; si llevan cifras que el orbe debe contestar, ponlas como campos etiqueta/valor en la misma lámina o en un anexo de datos.