Nodes/Shima/Shima Rich Display (Viewer)
ComfyUI Node

Shima Rich Display (Viewer)

The Rich Display viewer

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima Rich Display (Viewer)
  • content_bundle
  • content_bundle
title_override
allow_external_linkingfalse

ComfyUI's built-in note nodes are plain text boxes, and there's a reason so many packs try to build something richer: when you're sharing or debugging a workflow, a wall of raw text is the last thing you want to read. The Shima Rich Display is the viewer half of the pack's "content bundle" system - it takes a CONTENT_BUNDLE and renders it on the node with real formatting: HTML, Markdown, images, even URLs. It's the counterpart to Shima Content (Supplier), which is where you author the content.

The pair works like a supplier/viewer split: Shima Content defines what to show (type, title, content) and emits the bundle; Rich Display consumes the bundle and renders it. You don't strictly need the supplier - any node that emits a CONTENT_BUNDLE dict with the right keys will feed it - but the supplier is the natural authoring tool.

How it works

The CONTENT_BUNDLE is a small dict with type, title, content, and show_title keys. Rich Display takes it in, forwards it to the frontend for rendering, and passes the bundle through unchanged. The content_type field (set at the supplier) decides how it renders - HTML and Markdown get formatted, URL can embed a link, Image and Video handle media.

One useful touch: title_override lets you relabel the display without touching the underlying bundle - handy when the same content bundle flows into several viewers and you want each one labeled differently.

The inputs and outputs

  • content_bundle (CONTENT_BUNDLE, required) - the thing to display.
  • title_override (STRING, optional) - a display-only title override.
  • content_bundle output - a passthrough of the input, so a display can sit inline in a chain without ending it.

Where it fits

Best use is documentation that travels with a workflow: put a Shima Content node next to a complex island with a Markdown explainer ("this block upscales at 1.5x, then the second pass denoises at 0.5"), render it with a Rich Display, and anyone who opens the workflow gets readable instructions instead of hunting through node titles. In a shared or tutorial workflow that's genuinely valuable. If you just want a quick sticky-note-style label, it's heavier than a core note node - reach for the pack's Dymo Label or plain notes instead.

Install

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

Restart, then Shima/Utilities → Shima Rich Display (Viewer). ComfyUI Manager: search "Shima". First boot auto-clones ComfyUI-Impact-Pack and cg-use-everywhere if missing (Use Everywhere is the island auto-linking backbone) - expected.

Common issues

The classic error is wiring the wrong dict in: CONTENT_BUNDLE is a typed socket, but any DICT-shaped object with the right keys can type-check while missing type or content, and the renderer will show an empty box rather than an error. Also, the content is rendered client-side - a headless/API run will execute the node but there's no canvas to draw on, so don't rely on it as your only record of a run. The pack is new with little community signal, so when formatting looks off, the rendering code in the JS side is where the answer lives.

CategoryShima/Utilities

Inputs (3)

NameTypeDefaultDescription
content_bundleCONTENT_BUNDLE
title_overrideoptSTRING
allow_external_linkingoptBOOLEANfalseIf ON, this node broadcasts/receives OUTSIDE the Island (ignores group regex)

Outputs (1)

NameTypeDescription
content_bundleCONTENT_BUNDLE