LCS Preview Colors
Peek inside the latent's color channel without paying for a VAE decode
- latent
- lcs_data
- preview
The debug node that shows you what the latent "thinks"
Every LCS intervention works in a 3D color subspace buried inside the latent - so when colors come out wrong, how do you tell whether your steer actually landed? LCS Preview Colors gives you a look at the color structure without running the VAE at all. It's the observation tool in facok's LCS pack, and it's what you'll reach for when a color edit mysteriously does nothing.
How it works - the no-VAE trick
Normally, seeing an image means decoding the latent through the VAE: slow, and mid-sampling it returns noise-colored garbage anyway. This node skips the VAE entirely. It projects the latent patches into the 3D LCS basis, normalizes them to a reference timestep, decodes the 3D color coordinates straight to HSL, converts to RGB, and upscales 8× to pixel resolution. Structure and detail simply aren't there - by design. You're looking at color only.
The inputs that matter
latent- grab it from your KSampler's LATENT output, or anywhere in the sampling chain.lcs_data- calibration from LCS Load Data, same as every other node in the pack.sigma- this one's the gotcha. Normalization needs to know where you are in the schedule: 0.0 means the final/clean latent. Previewing mid-sampling? Feed it the actual sigma at that point instead of leaving it at 0, or the colors will be off.
Output is a single preview IMAGE. Slap a PreviewImage node after it.
Why you'd use it
- Confirm an LCS Color Intervene target actually shifted the color before you burn a full decode.
- Diagnose drift: watch whether the color channel wanders between steps without decoding 20 intermediates.
- For the time-lapse version, pair it with LCS Step Observer, the pack's per-step PNG dump.
It's a debug tool, so its value lives in the workflow you build around it. But when you need it, it's the only node that answers "what colors are in this latent right now?" without paying the VAE cost. Just don't judge sharpness or composition from it - it's color-only and upscaled, not a preview of the final image.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/facok/ComfyUI-LCS.git
Then restart ComfyUI. Dependencies are einops and safetensors, both almost certainly already present. The nodes show up under the LCS menu, grouped into calibration, intervention, and observation.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | Latent from KSampler or similar | |
| lcs_data | LCS_DATA | — | |
| sigma | FLOAT | 0.000–1 | Sigma for normalization (0.0 = final/clean, use sigma from sampler) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| preview | IMAGE | — |