Nodes/Shima/[UI] Shima Panel Sampler
ComfyUI Node

[UI] Shima Panel Sampler

A whole sampling pipeline that doesn't exist until you run it

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
[UI] Shima Panel Sampler
  • modelcitizen.bndl
  • latentmaker.bndl
  • masterprompt.bndl
  • shima.commonparams
  • shima.samplercommons
  • panelinputs.bndl
  • Image
  • Latent
  • shimasampler.bndl
s33d0
randomizefalse
steps20
cfg8.0
sampler_name
scheduler
denoise1.00
add_noisetrue
start_at_step0
end_at_step10000
return_with_leftover_noisefalse
preview_methodauto
vae_decodetrue
upscale_enabledfalse
upscale_methodnearest-exact
upscale_factor1.50
upscale_denoise0.50
upscale_steps20
upscale_cfg8.0
payload{}
use_commonparamstrue
allow_external_linkingfalse
use_samplercommonsfalse

Shima Panel Sampler is the payoff node of Shima's Panel system - and it's a ghost. The Python class that defines it is explicitly documented as "NEVER EXECUTED." What actually happens: when you queue your workflow, the frontend intercepts the graph and rewrites this single panel into a full sampling pipeline - DeBNDLer → Shima.Sampler → ReBNDLer - before the graph ever reaches ComfyUI's backend. You see one tidy chassis on the canvas; the engine runs a dozen nodes.

That's the whole trick of the Panel system. Model Citizen, Master Prompt, and Latent Maker each hand this node one bundle; it accepts all three, plus the common params, and inside the modal you get the real sampling controls: steps, CFG, sampler, scheduler, denoise, seed, start/end step, noise handling - plus an integrated upscale pass (HiRes-fix style) with its own denoise and steps. Double-click the chassis and it's a full KSampler + upscaler; look at the canvas and it's one small board.

How it works

The bundles get unpacked by the generated DeBNDLer, fed to a KSampler with your settings, and the results repacked: Image, Latent, and a combined shimasampler.bndl. Because it's a macro expander, changing settings means changing widget values - the graph rewrite happens fresh each queue, so nothing goes stale. The randomize toggle and s33d seed follow Shima's seed convention, and use_commonparams lets the shared Commons node drive seed and dimensions so every panel in the workflow stays in sync.

The upscale block is worth calling out: enable upscale_enabled, pick a upscale_method, a factor, and a second-stage denoise/steps/cfg, and the macro inserts a latent upscale between sampling passes. That's the classic hires-fix shape built into the panel instead of wired by hand.

The inputs and outputs that matter

Required: modelcitizen.bndl, masterprompt.bndl, latentmaker.bndl (the three generator bundles), shima.commonparams, then the sampler core - s33d, randomize, steps, cfg, sampler_name, scheduler, denoise, add_noise, start_at_step, end_at_step, return_with_leftover_noise, preview_method, vae_decode - and the upscale set (upscale_enabled, upscale_method, upscale_factor, upscale_denoise, upscale_steps, upscale_cfg).

Optional: shima.samplercommons (a shared sampler-settings bundle with its own toggle), use_commonparams, allow_external_linking, payload, and panelinputs.bndl for external overrides. Outputs: Image (IMAGE), Latent (LATENT), shimasampler.bndl.

How to install it

Part of the Shima pack - ComfyUI Manager, search "Shima", or:

cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima

restart. The macro expander is frontend JS, so this node depends on the pack's JS loading cleanly; core deps (Impact Pack, cg-use-everywhere) install automatically.

Common issues & troubleshooting

Node errors with "is a virtual macro and should have been intercepted." That message means the graph hit the backend without the frontend rewrite - almost always a JS failure. Reload the page hard, or check you're on the legacy LiteGraph canvas; the Nodes 2.0 frontend breaks the panel JS. If it truly reaches the backend, that's the bug.

Nothing happens when you double-click. The modal is driven by JS. Same fix family as above - reload, or switch frontends.

Upscale pass changes nothing. upscale_denoise at 0 does nothing to the image; at high values it's a full resample. And upscale_factor below 1.0 shrinks. Start with ~1.5 factor and ~0.4–0.5 denoise.

CategoryShima/Sampling

Inputs (29)

NameTypeDefaultDescription
modelcitizen.bndlBNDLRequires modelcitizen.bndl
latentmaker.bndlBNDLRequires latentmaker.bndl
masterprompt.bndlBNDLRequires masterprompt.bndl
shima.commonparamsDICTConfiguration bundle from Shima.Commons
s33dINT00–18446744073709550000
randomizeBOOLEANfalse
stepsINT201–10000
cfgFLOAT8.00–100
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT1.000–1
add_noiseBOOLEANtrue
start_at_stepINT00–10000
end_at_stepINT100000–10000
return_with_leftover_noiseBOOLEANfalse
preview_methodCOMBOauto3 options: auto, latents, none
vae_decodeBOOLEANtrue
upscale_enabledBOOLEANfalse
upscale_methodCOMBOnearest-exact5 options: nearest-exact, bilinear, area, bicubic, bislerp
upscale_factorFLOAT1.501–4
upscale_denoiseFLOAT0.500–1
upscale_stepsINT201–10000
upscale_cfgFLOAT8.00–100
payloadoptSTRING{}
use_commonparamsoptBOOLEANtrue
allow_external_linkingoptBOOLEANfalse
shima.samplercommonsoptDICTSampler settings bundle from Shima.SamplerCommons
use_samplercommonsoptBOOLEANfalse
panelinputs.bndloptBNDL

Outputs (3)

NameTypeDescription
ImageIMAGE
LatentLATENT
shimasampler.bndlBNDL