3x Entangled Curves [0,1] (Wavelength)
Three-prompt rotation, timed in frames
- KEYFRAMED_CURVE
- KEYFRAMED_CURVE
- KEYFRAMED_CURVE
Three prompts is where you stop being able to eyeball the timing. With two, the crossfade is obvious. With three, hand-writing a schedule that keeps the mix balanced is where the errors live - and this node removes the math entirely. It emits three phase-locked sine curves that sum to ~1 at every frame, so each prompt takes a turn leading while the other two hold the blend together.
It's the 3x member of the "Entangled Curves" family in dmarx's ComfyUI-Keyframed, and this flavor is driven by wavelength: the number you type is frames per full cycle. The default 12 means the emphasis completes one full lap through all three prompts every 12 frames. Want a slower, more stately rotation? Crank it to 24 or 36.
How it works
Three SinusoidalCurves with phases a third of a turn apart, each with amplitude 1/3 plus a small floor so none fully zeroes - fully zeroed conditions create "sharp edges" in the traversal, per the README. The balanced phases make the three curves sum to ~1 at all times. Each swings between ~0 and ~2/3, so the leading prompt tops out at two-thirds strength while the other two split the remainder. The lead rotates smoothly; nothing snaps on or off.
One input, wavelength (FLOAT, default 12, stepped at 0.5). Three KEYFRAMED_CURVE outputs.
Wiring it up
Standard superposition pattern: each curve output into its own Apply Curve To Conditioning node with its prompt's conditioning, merge with KfConditioningAdd, then into the sampler. With AnimateDiff, every frame gets a different three-way blend.
Installing it
Ships in ComfyUI-Keyframed. ComfyUI Manager: search "ComfyUI-Keyframed". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/dmarx/ComfyUI-Keyframed
Restart ComfyUI after. No models to download; the only dependency is the keyframed library, auto-installed on first startup - the first load can hang while pip runs, and pip install keyframed by hand if that fails. The node is under keyframed → entangled [0-1]. Three prompts with a wavelength dial: it's the most approachable member of the family that still feels like real superposition.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| wavelength | FLOAT | 12.0 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| KEYFRAMED_CURVE | KEYFRAMED_CURVE | — |
| KEYFRAMED_CURVE | KEYFRAMED_CURVE | — |
| KEYFRAMED_CURVE | KEYFRAMED_CURVE | — |