Skip to content

← Volver al listado

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.

3 min de lectura

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.

Rejilla de identidad Lumware: wordmark, paleta spectrum R/G/B/W y muestras tipográficas (Geist + Geist Mono).

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 Capturesensor → host. Cámara, micro, MIDI a un host que decide.
  • Lumware Stageunity ↔ 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 R
  • spectrum.g — verde del canal G
  • spectrum.b — azul del canal B
  • spectrum.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.