Commit Graph
27 Commits
Author SHA1 Message Date
erikghandClaude Opus 5.5 89e54a6e84 feat: rediseño «El documento» en curso, contacto real y enlaces externos
Primitivas y contenido del rediseño (escala tipográfica, Revelar,
MarcaSeccion, Seccion, Antetitulo, SimboloMarca, Resplandor, ClaridadHero,
sección Proceso de ocho etapas, lib/content.ts reestructurado en seis
secciones con alias para las viejas). Mecanismo y FormaTrabajar se retiran.

Encima, lo de esta sesión:
- recorrido: creeer vuelve a responder cada situación en vez de repetirla
  (el alias apuntaba respuesta a situacion); respuestas en plural. Créditos
  de las seis fotos de México.
- contacto: WhatsApp, email (con mailto:) y LinkedIn reales; iconos de las
  redes en el cierre y el footer (IconoRed, trazos de Simple Icons, CC0).
- enlaces: lo externo abre en otra pestaña con noopener y aviso para
  lectores de pantalla (lib/enlaces.ts); mailto y anclas se quedan.
- Proceso: las ocho tarjetas no aparecían nunca en móvil (amount 0.3 sobre
  una lista de ~3000px); ahora cada una se revela sola. El ≡ de la 08 ya no
  tapa un entregable, título equilibrado, etiqueta a 12px, sin elevar al
  hover lo que no es clicable.
- Disciplinas: la frase «No son la promesa — son los medios» gana peso y
  se agrupa con título e ilustración; sin cortes huérfanos en móvil.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 11:27:20 -06:00
erikghandClaude Opus 5 9a8534f10b feat(disciplinas): la tarjeta y su hebra pasan a ser la misma cosa
El dibujo de convergencia llevaba desde el principio al lado de las tres
tarjetas sin relación con ellas: tres objetos sueltos en una página. Al
señalar una disciplina, su hebra se enciende en dorado y engorda, y las
otras dos se apagan al 35%.

Es mejora solo con puntero, y a propósito: no esconde nada. Las tres
tarjetas y las tres hebras están completas sin tocar el ratón, así que
quien no lo tenga no pierde nada.

Verificado en navegador, no solo en jsdom: al señalar «Digital» la hebra
central queda en rgb(196,148,46) —el dorado de marca— a 3,5px, y las
otras en rgba(170,170,170,0.35) a 2px.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 15:08:19 -06:00
erikghandClaude Opus 5 90a35714f2 feat(recorrido): la conversación se responde al bajar, y el lector puede gobernarla
Cada respuesta llega cuando su par alcanza el centro de la pantalla: la
regla dorada se dibuja y el bloque entra. El estado solo avanza, así que
nada se apaga por detrás del lector. El scroll no es el único mando —
hover y foco de teclado llevan al mismo sitio.

Corrige un fallo que las pruebas no podían ver: Framer resuelve la
variante escribiendo `opacity: 1` en el style inline, que gana a la clase
opacity-0 de Tailwind. El revelado no ocurría; solo se animaba la regla,
que es un transform que Framer no toca. La entrada y el revelado viven
ahora en elementos distintos, con una prueba que lo fija.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 11:33:56 -06:00
erikghandClaude Opus 5 a200346780 chore: retira Carrusel, sin consumidores desde que el recorrido se apila
PuntosInflexion era el único que lo montaba. Se va también la referencia
que le quedaba colgando en el comentario de useAutoStep.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 11:15:39 -06:00
erikghandClaude Opus 5 a9d1f44df2 feat(recorrido): ParDialogo — la situación y la respuesta como un intercambio
Las dos voces se distinguen por tres cosas a la vez —etiqueta de quien
habla, columna y regla lateral—, nunca solo por color.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 11:12:24 -06:00
erikghandClaude Opus 5 2383e63bc5 feat(hilo): retira el hilo conductor de la página
La dueña pidió quitarlo. Con él se van las dos cosas que solo existían
para sostenerlo: el `relative` de <main> —ninguna sección lo necesita,
todas son relative por su cuenta salvo Disciplinas, que no tiene hijos
absolutos— y el export RADIO_BARRA, sin consumidores.

BARRAS_SIMBOLO se queda como forma canónica del ≡ aunque ya nadie dibuje
las barras: LINEAS_SIMBOLO se deriva de ella y el test que obliga a las
dos representaciones a coincidir es lo que mantiene honesta la geometría
frente al Manual.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 11:11:36 -06:00
erikghandClaude Opus 5 fa86605b39 feat(diseño): los diez arreglos de la revisión visual
Revisada la página con Chromium a 1440x900 y 390x844 en nueve alturas de
scroll, y verificado cada cambio contra capturas nuevas.

- El ≡ deja de leerse como icono de menú. lib/simbolo.ts se anunciaba como
  single source of truth pero no coincidía con Wordmark.tsx, que traza la
  marca con las proporciones medidas del Manual: barra de largo 5.919× su
  grosor, hueco de 2×, extremos de píldora. Ahora se derivan de ahí. De
  paso, las líneas se meten medio grosor por cada extremo: el remate
  redondo alargaba el trazo un grosor entero sobre la barra que debía
  reproducir.
- Banda: 12px en escritorio y 7px en móvil vía CSS (14px era el 3,6% de
  una pantalla de 390px y partía los párrafos), opacidad al 18%, y muelle
  de 90/30 a 210/40 — sobreamortiguado tardaba ~2s en asentar y la punta
  se arrastraba a media pantalla. El punto suelto que aparecía centrado
  arriba al cargar era el remate redondo pintándose en el origen con
  longitud cero: ahora la opacidad sigue al avance.
- Ritmo vertical un 25-30% más apretado en las diez secciones. La página
  pasa de 8.061 a 7.457px sin tocar contenido.
- Números 01-06: de marca de agua de 48px al 6% (que chocaba con títulos
  y reglas) a índice dorado sentado sobre la regla.
- Hero: los dos CTA al mismo ancho en móvil, el patrón de puntos fuera
  del logotipo, y la secuencia visible en todos los tamaños — oculta bajo
  lg dejaba el hero del móvil sin ninguna pieza gráfica. La convergencia
  de la variante "hero" se cierra más para que se lea como líneas
  buscando su eje y no como un garabato tachado.
- Estratega: fuera la retícula de puntos del retrato, que parecía el
  recuadro de imagen rota del navegador; la etiqueta del 30+ cabía en
  menos de lo que mide "construyendo" y salía en tres líneas.
- El nudo de Dolores, más pequeño y con algo más de contraste.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 16:34:07 -06:00
erikghandClaude Opus 5 174fcb855a fix(hilo): la banda alargaba el documento 5.800px de vacío
Un <svg> con viewBox es un elemento reemplazado con proporción intrínseca
(100:1200). Al dimensionarlo con top-0 + bottom-20 y dejar la altura en
auto, el navegador la resolvía desde el ancho — 1152 × 12 = 13.824px — y
esa altura ganaba silenciosamente a `bottom`.

Consecuencias, todas visibles en el navegador y ninguna en los tests:
- 5.840px de blanco vacío scrolleable por debajo del footer.
- scrollYProgress repartido sobre 13.901px en vez de 8.061, así que el
  trazo nunca terminaba sobre contenido real.
- la onda estirada 1,8x de más, otra vez casi recta.

Altura explícita con h-[calc(100%-5rem)], y test que lo fija: jsdom no
hace layout, así que el guardián es la clase.

El trazo pasa a completarse a mitad de scroll (FIN 0.85 → 0.5). Con 0.85
la punta se quedaba a media pantalla durante el 42% de la página, que es
justo lo que se leía como "sin terminar".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 16:11:41 -06:00
erikghandClaude Opus 5 20a41c6d1a chore: retira SimboloTresLineas y pasa los comentarios a inglés
SimboloTresLineas se quedó sin consumidores cuando SecuenciaClaridad
ocupó sus dos sitios (hero y FraseAncla). Sólo lo usaba su propio test.
La geometría del ≡ ya vive en lib/simbolo.ts, así que no se pierde nada.

Los cinco comentarios de código que quedaban en español pasan a inglés,
como pide CLAUDE.md. Los créditos de foto se quedan en español: son
atribución, y el footer que los recoge está en español.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 16:01:55 -06:00
erikghandClaude Opus 5 3c2185e200 fix(hilo): la banda recupera su grosor y remata en el ≡
El grosor nunca se decidió: la primera versión ocupaba toda la columna,
así que el viewBox se estiraba por 11.5 y un strokeWidth de 1.5 se
pintaba a ~17px reales. Al mudar el hilo a una banda de 56px el mismo
valor quedó en 0.84px, y con eso dejó de leerse.

- Grosor fijado en 14px reales con non-scaling-stroke, ya no heredado
  del escalado del viewBox.
- Banda de vuelta a toda la columna: ±184px de recorrido lateral.
- Cuatro ondulaciones largas en vez de una sola (que se aplanaba) o
  diez cortas (que se leían inquietas).
- El trazo termina al 85% del scroll: colgado del scroll de página sólo
  llegaba al 100% pasado el footer, así que el final no se veía nunca.
- Remata en el ≡ del wordmark, con la geometría de lib/simbolo.ts. Es
  lo que pedía el spec y era lo que faltaba.

Test nuevo que exige stroke-width >= 10: el grosor ya se había perdido
dos veces por accidente.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 15:57:54 -06:00
erikghandClaude Opus 5 29837022ce refactor(ilustraciones): grosores unificados a la escala 1.5/2/3
El nudo, la bifurcación y la convergencia usaban 2.5 y 3.5 sueltos, así que
las tres se veían de pesos distintos puestas una al lado de otra.

Un test de contrato por ilustración exige ahora que todo trazo pertenezca a
{1.5, 2, 3}, de modo que la escala no se pueda romper en silencio más
adelante. SecuenciaClaridad queda fuera a propósito: resuelve en las barras
reales del ≡ y su grosor lo manda LINEAS_SIMBOLO.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 15:32:10 -06:00
erikgh 2296fa4868 feat(inflexion): la curva que se dobla en el punto, sin fork 2026-07-31 12:15:51 -06:00
erikgh aa6b348674 feat(hilo): el conductor baja visible por el centro, tras el texto 2026-07-31 12:14:47 -06:00
erikgh d447239542 feat(header): progreso de lectura y compactado al bajar 2026-07-31 11:42:09 -06:00
erikgh a2fa730b7b feat(estratega): marco line-art listo para el retrato real 2026-07-31 11:41:09 -06:00
erikgh 3cb2b1f78b feat(disciplinas): tres hebras que confluyen en una estrategia 2026-07-31 11:40:23 -06:00
erikgh ca949f35c2 feat(para-quien): la bifurcación dibujada junto al split sí/no
La ruta del 'no' se revela por opacidad (no por pathLength): el stroke
dasharray '1 8' sobrevive y el camino queda realmente punteado, en lugar
de que framer-motion lo pise con el dasharray que usa para dibujar el
trazo. El test afina la aserción al valor '1 8' para no contar la
inyección de pathLength en las dos rutas sólidas.
2026-07-31 11:39:12 -06:00
erikgh 2fa1e73764 feat(dolores): el nudo que no se deshace 2026-07-31 11:25:59 -06:00
erikgh 0239d4ac15 fix(grafico): HiloConductor a la banda lateral, con stacking explícito
El hilo pintaba encima del texto en las secciones sin position:relative
(Dolores, Disciplinas, Estratega, ComoEmpezar) y detrás del texto en las
que sí la tienen, por el orden de pintado del navegador. Se mueve a la
banda vacía a la izquierda de la columna max-w-content (oculto bajo 2xl,
donde no hay margen seguro) y gana un z-index explícito por debajo del
header.
2026-07-31 11:25:34 -06:00
erikgh bd16de2aa3 fix(grafico): SecuenciaClaridad usa el grosor de su propia barra
Cada línea resuelta tomaba el grosor de LINEAS_SIMBOLO[0] sin importar a
qué barra pertenecía; funcionaba por coincidencia porque las tres barras
del manual comparten height: 8. Se indexa ahora por DISPERSAS[i].barra, y
se agrega una prueba de regresión que fija el grosor de cada línea al de
su propia barra (derivado de LINEAS_SIMBOLO, no hardcodeado).
2026-07-31 11:14:02 -06:00
erikgh a900bdd99d feat(grafico): HiloConductor — la línea dorada que cose la página 2026-07-31 11:09:59 -06:00
erikgh 6783e32324 feat(grafico): SecuenciaClaridad — la metáfora del manual, dibujada 2026-07-31 11:04:21 -06:00
erikgh fcd58fe00d refactor(simbolo): extraer la geometría del ≡ a lib/simbolo.ts 2026-07-31 10:57:08 -06:00
erikghandClaude Opus 5 5b400cb161 feat(primitivas): capa gráfica y de movimiento reutilizable
Diez primitivas que dan a la landing el "gráfico y movimiento" que pidió
la dueña, todas con guarda de prefers-reduced-motion:

- FondoPuntos / PatronPuntos — el patrón de puntos del manual
- TarjetaSpotlight, TextoDesenfoque, ContadorNumero — realce y reveal
- Carrusel — deslizable, con contador, autoplay pausable
- Icono, SimboloTresLineas, IlustracionInflexion — línea, sin relleno
- FondoFoto — duotono azul/dorado sobre foto

useAutoStep en lib/motion.ts comparte la forma del autoplay del carrusel
para indicadores de paso que no son carrusel.

IlustracionInflexion documenta un detalle que muerde: motion.path aplica
su propio andamiaje de dasharray aunque no reciba initial/animate, así
que la rama de reduced motion renderiza <path> planos en vez de intentar
neutralizar los animados.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 10:44:28 -06:00
erikghandClaude Opus 5 a9758a92f9 feat(identidad): logos SVG oficiales, wordmark trazado y tokens del manual
El wordmark deja de depender del glifo tipográfico ≡ y pasa a un trazado
SVG propio (SimboloTresLineas), que es lo que permite cumplir la
instrucción de la dueña: que se lea como E, no como tres líneas sueltas.

Incluye las tres versiones del logotipo (principal, negativa, secundaria)
y alinea los tokens de color con el Manual de Identidad Visual v1.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 10:44:20 -06:00
erikgh 60d3f22e6b feat: rebrand a Manual de Identidad Visual v1.0
Migra todo el sitio a la marca oficial aprobada por la dueña:
- Logotipo cre≡er (el símbolo ≡ reemplaza la 'e' central, en dorado)
- Paleta: Azul Profundo #0A1D5D + Dorado Estratégico #C4942E + Blanco + neutros
- Tipografía: Aptos (Inter como fallback web), fin del sistema híbrido Georgia/Inter
- Tagline 'CLARIDAD · DIRECCIÓN · CRECIMIENTO' + eslogan 'Estrategia que transforma.'

Componentes, tokens de Tailwind, lib/content.ts, docs (dueña-directrices + spec)
y tests actualizados. Typecheck, lint, 27/27 tests y build estática verdes.

Basado en docs/branding.jpeg (Manual v1.0, mayo 2026).
2026-07-28 10:51:48 -06:00
erikgh 7d12e35600 feat: primitives (Wordmark, Container, CTA) with tests 2026-07-21 10:10:14 -06:00