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
Una tira RGB puede hacer blanco mezclando R+G+B. Una
tira RGBW lleva un cuarto canal dedicado al blanco —
a menudo cálido, siempre más limpio. Esa cuarta letra es
la marca:
spectrum.r— rojo del canal Rspectrum.g— verde del canal Gspectrum.b— azul del canal Bspectrum.w— blanco cálido,#FFF5E0
El acento canónico del flagship es spectrum.w. No es
un blanco cualquiera — es el blanco específico que un LED
W bien calibrado da cuando hace su trabajo. Si vienes del
código, es literalmente el byte que el host inyecta en el
canal W de un frame RGBW.
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.