Identidad: spectrum R/G/B/W
El nombre tardó más en salir que la arquitectura. Pero cuando salió, todo encajó — hasta los colores de la marca.
El nombre tardó más en salir que la arquitectura. Pero cuando salió, todo encajó — hasta los colores de la marca. La paleta no la diseñé: la encontré en el propio hardware.
El contexto
Un proyecto con un solo script no necesita nombre. Un
producto sí. Una familia, más. Mientras el repo se llamó
python2arduino_neopixel, la única forma de referirme a
él era “el proyecto”. Cada vez que escribía un README, me
quedaba sin vocabulario.
Había una razón práctica para resolverlo: ya sabía que
quería hacer dos productos hermanos (sensor→host,
unity↔strip) y si los tres se llamaban cosas inconexas,
nunca serían familia — solo tres repos que se conocían.
La decisión
Lumware. Lum (luz, latín) + ware (software). Corto, registrable, describe qué es sin exagerar. Light está saturadísimo en el mercado; neon es estético, no funcional; photon es pretencioso. Lumware es lo que realmente hay: software de luz.
Tres productos, un nombre de familia:
- Lumware — flagship, este repo.
host → strip. Imágenes y vídeo a la tira. - Lumware Capture —
sensor → host. Cámara, micro, MIDI a un host que decide. - Lumware Stage —
unity ↔ strip. Unity envía frames y recibe eventos de la tira en bidireccional.
Cada uno tiene su propio repo. Sí comparten vocabulario (frames, transport, host, codec) y sí comparten marca. No comparten código: ningún import cruzado. La familia es cultural, no técnica.
La paleta sale del hardware
La tira de Lumware es RGB: el blanco sale de mezclar
R+G+B, no de un canal dedicado. Tres de los cuatro
tokens de marca son literales — salen de los canales que
viajan por el cable:
spectrum.r— rojo del canal Rspectrum.g— verde del canal Gspectrum.b— azul del canal Bspectrum.w— blanco cálido de marca,#FFF5E0
El acento canónico del flagship es spectrum.w. No es
un canal físico: es una decisión de marca — el blanco
cálido que querrías que diera una tira RGBW, aunque esta
lo componga con R+G+B. Si algún día migro a una tira
RGBW, spectrum.w pasa a ser un canal de verdad.
Además de la paleta spectrum, hay tres más:
glow— acento secundario, para estados activos.pulse— feedback positivo (frame enviado, settings guardado).code.*— paleta de syntax highlighting para los snippets de documentación.
Tipografía
Geist para la UI. Geist Mono para código, números, identificadores. Misma familia, dos roles claros. Sin serif. Sin decoración. Sin itálica por defecto.
Geist Mono no es cosmética: en la UI web, cuando ves
measured_fps: 29.97, lo lees alineado por columnas sin
esfuerzo. La diferencia entre 0 y O, entre 1 y l,
es inequívoca. En una tabla de métricas live eso ahorra
errores de lectura.
Por qué la marca vive fuera de este repo. El brand book canónico está en
arlaf-design-systems/packages/tokens-lumware/BRAND_BOOK.md, en un repo aparte. Aquí solo hay referencias. Si Lumware Capture o Lumware Stage quieren reclamar la familia, importan del mismo paquete de tokens — sin duplicación, sin riesgo de derivas entre repos. El coste: mantener el repo de tokens como fuente de verdad. La recompensa: tres productos con identidad literalmente idéntica.
Lo que viene
Tenemos software, hardware, protocolo, host, proceso, marca. Falta dónde todo eso se encuentra con un humano: la UI web local. Próximo post: por qué vive en el navegador y no en una app nativa.