ποΈ Gimbal Semantic Slider (PCA)
The underscore version of the PCA slider (same node, same dials)
- latent_batch
- base_latent
- modified_latent
- pc_preview
Quick orientation first: Gimbal_SemanticSlider and GimbalSemanticSlider are the same class registered under two names, with a legacy Wayfinder_SemanticSlider alias for the third. If your workflow references one and the menu shows the other, they're interchangeable - you haven't found a different node, you've found the same node wearing two hats. What it does either way is PCA-based attribute sliding: find the directions a batch of latents varies along, then push your base latent along exactly one of them.
The inputs that matter
Three required inputs to set: latent_batch (the collection of variations that defines your "attribute space" - 4+ latents, same scene with different prompts works best), base_latent (the one you're modifying), and then the two dials: pc_index (which principal component to slide, 1β10) and slider_value (β5 to +5, Β±1 β one standard deviation). orthogonalize (default off) is worth turning on once you've found your component - it removes the overlap between the PC direction and your base, so the slide doesn't sneak in unrelated changes.
Outputs are modified_latent and pc_preview. The pc_preview output is the underrated one: decode it and you see the pure direction you're about to slide along. That's your "which component is brightness again?" answer without guessing.
How to actually find the right axis
Run the batch through the node with slider_value = 0 first, decode each pc_preview for PC1..PC4, and eyeball which one encodes the attribute you care about. Then set pc_index to that number and slide. It's a two-step dance that sounds slow and is actually the fastest path to predictable results - better than sliding blind and squinting at the output. After sliding, refine at low denoise (~0.45) and lean on a GimbalLatentStabilizer if you pushed past Β±2, because large slides drift the latent out of the healthy zone.
Installing
Standard pack install: ComfyUI Manager β search "Gimbal-comfy" β install β restart, or git clone https://github.com/FormAndNoise/Gimbal-comfy into ComfyUI/custom_nodes. Dependencies are torch/numpy/pillow, already bundled; nothing to download. (The README's clone URL is stale - FormAndNoise/Gimbal-comfy is live.)
Where people get burned
The classic mistake is feeding a single latent into latent_batch and getting a meaningless component set - PCA needs actual variance, so one sample tells you nothing. Related: batch diversity and batch size both shape your components, so if the "warmth" axis isn't where you expect, it's because your batch varied along something else. And manage expectations about what "one attribute" means: PCA finds the directions of greatest variance in your batch, which is a statistical property, not a semantic guarantee. It's a competent, fun node - but the pack is young, AI-heavy, and barely discussed in the community, so the fine print ("what the components actually mean") is largely yours to discover.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| latent_batch | LATENT | β | |
| base_latent | LATENT | β | |
| pc_index | INT | 11β10 | β |
| slider_value | FLOAT | 0.00-5β5 | β |
| orthogonalize | BOOLEAN | false | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| modified_latent | LATENT | β |
| pc_preview | LATENT | β |