Lens Compare
Find out whether two lenses will stack or just cancel out
- chart
- analysis
The README is honest about stacking lenses: "results from stacking are not always predictable." Lens Compare is the tool that makes them more predictable. It takes two lenses and measures how similar they are - cosine similarity of their directions, shared weight components, SAE feature overlap, and a composability analysis based on orthogonality. It tells you up front whether "vintage film" + "dark moody" will combine into a new hybrid or just double up on the same underlying direction.
How it works
Every lens in this pack is a direction vector, and directions in a high-dimensional space have geometry. Two lenses pointing nearly the same way (high cosine similarity, heavy feature overlap) will stack into something that's mostly "that direction, but stronger" - redundant, possibly overshooting. Two nearly orthogonal lenses are genuinely composable: they pull the conditioning along different axes, so you get a real blend. Lens Compare quantifies exactly that: the chart shows the comparison panels and the analysis output is a relationship report telling you whether the pair is redundant, complementary, or somewhere between.
For SAE-trained lenses it goes further and compares the feature sets - if both lenses were built from the same SAE, you can see how many features they share. Two lenses sharing 80% of their features aren't two concepts; they're one concept with a different name.
The inputs that matter
- lens_a / lens_b - dropdowns of your lenses.
- custom_path_a / custom_path_b - absolute path overrides for lenses outside the standard directory.
Outputs: chart (IMAGE) and analysis (STRING). A pure inspection node - nothing feeds forward into a sampler.
Installing
Pack-standard: ComfyUI Manager search "Concept Steer", or git clone https://github.com/Nynxz/ComfyUI-ConceptSteer into custom_nodes/ and restart. Trivial to run - it only loads and compares two lens files, no encoder, no VRAM pressure. It's one of the cheapest nodes in the pack, which makes it a nice pre-flight check before you chain lenses.
Common gotchas
- High similarity isn't automatically bad. Two similar lenses stacked read as "that style, stronger." If that's what you want, fine - just know the README's warning that stacking can overshoot and artifact, and near-duplicate lenses are the most likely to do it.
- Different SAEs, no feature comparison. Feature overlap only exists when both lenses were built from the same SAE (same layer, expansion, seed). Otherwise you get direction similarity but not feature-level analysis.
- Direction geometry doesn't predict everything. A low-cosine pair may still interact badly at inference because conditioning isn't a pure vector space in practice. Consider it a strong hint, not a guarantee - the README's "not always predictable" still applies.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| lens_a | COMBO | None | First lens to compare |
| lens_b | COMBO | None | Second lens to compare |
| custom_path_a | STRING | Override: absolute path to first lens | |
| custom_path_b | STRING | Override: absolute path to second lens |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| chart | IMAGE | — |
| analysis | STRING | — |