Nodes/Shima/Shima RGB Array
ComfyUI Node

Shima RGB Array

A three-channel RGB status light with real logic behind it

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima RGB Array
  • r_in
  • g_in
  • b_in
  • csv_output
  • eval_bool
r_color#ff0000
g_color#00ff00
b_color#0000ff
r_eval
g_eval
b_eval
trigger_typeBoolean
scale1.0
hw_sync_statefalse,false,false

The Shima RGB Array looks like a fun toy - three colored channels that blend into a glowing lens on the canvas - but it's actually a compact logic evaluator. Each of the R, G, and B channels takes an input and runs its own evaluation; the lens shows you the combined state, and the node also hands you the raw results as data you can wire into the rest of the graph. It's a status light and a three-bit logic gate in one.

It's part of the Shima (島, island) pack's control-room aesthetic - the same family as the Pilot Light and the Multi-State Indicator, but with three independent channels and real outputs instead of a pure visual.

How it works

You feed each channel through the optional r_in, g_in, b_in wildcard sockets (any type), and the trigger_type decides how each one is evaluated into a boolean:

  • Boolean - truthy input lights the channel (loose bool parsing, so "true", 1, yes all count).
  • Number (>0) - channel is on when the numeric value is greater than zero.
  • Hardware Sync - state comes from the frontend (hw_sync_state), for linking to physical-style switches.
  • Shima Eval - the interesting one. You write an expression in r_eval/g_eval/b_eval in the form match|||value: if the input matches the left side, the channel outputs the right side. So done|||SUCCESS lights the channel when input is "done" and attaches the string "SUCCESS".

Each channel's r_eval/g_eval/b_eval field also serves as a label: in Boolean mode, a lit channel outputs whatever text you typed there (defaulting to "True"). The lens blends the three lit colors additively, so you get instant feedback on combinations - "red and green both on" reads as yellow at a glance.

The outputs

  • csv_output (STRING) - the values of the lit channels as a comma-separated string, ready to log or feed a filename.
  • eval_bool (TUPLE) - the raw (r_state, g_state, b_state) tuple of booleans, for driving logic downstream.

The inputs that matter

  • trigger_type - set the evaluation mode first; everything else follows from it.
  • r_eval / g_eval / b_eval - the per-channel comparison/label strings.
  • r_in / g_in / b_in - the three signals to evaluate.
  • scale - lens size; r_color/g_color/b_color - channel colors.

Where it fits

Use it as a dashboard when you're juggling several conditions at once - "is the upscale branch on, is the img2img denoise below 1, is the ControlNet active" - and you want one glanceable lens plus a machine-readable summary downstream. Because it outputs strings and booleans, you can feed csv_output into a note or a file-namer and eval_bool into switches. If you only need one condition, the simpler Pilot Light is less machinery.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima
pip install -r requirements.txt

Restart, then Shima/System → Shima RGB Array. ComfyUI Manager: search "Shima". First boot auto-installs ComfyUI-Impact-Pack and cg-use-everywhere if missing (the Use Everywhere dependency for island auto-linking) - expected.

Common issues

The traps are all in the eval syntax. In Shima Eval mode, forget the ||| separator and the node falls back to loose truthiness of the input string instead of your expression - which silently changes behavior. In Number (>0) mode, a non-numeric input won't light the channel but does get passed through as the output value, which can look like a lit channel to downstream string logic. And hw_sync_state defaults to "false,false,false", so in Hardware Sync mode all channels stay dark until you drive them from the frontend. Like the rest of this pack, it's new with little community discussion - the eval logic in nodes/utilities.py is short enough to read when a channel misbehaves.

CategoryShima/System

Inputs (12)

NameTypeDefaultDescription
r_colorSTRING#ff0000
g_colorSTRING#00ff00
b_colorSTRING#0000ff
r_evalSTRING
g_evalSTRING
b_evalSTRING
trigger_typeCOMBOBoolean4 options: Boolean, Number (>0), Hardware Sync, Shima Eval (eval|||val)
scaleFLOAT1.00.1–10
hw_sync_stateSTRINGfalse,false,false
r_inopt*
g_inopt*
b_inopt*

Outputs (2)

NameTypeDescription
csv_outputSTRING
eval_boolTUPLE