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

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 R
  • spectrum.g — verde del canal G
  • spectrum.b — azul del canal B
  • spectrum.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.