Nodes/ComfyUI-MAINodes/H3 Hold Map Remap (scale / floor / ceiling) [alpha]
ComfyUI Node

H3 Hold Map Remap (scale / floor / ceiling) [alpha]

EXPERIMENTAL (alpha), new 2026-08-21; the classic pipeline nodes are unchanged. Nudge the oracle instead of overruling it: wire any hold_map in (H3 Jerk Oracle, H3 Manual Hold Map, H3 Motion Editor) and remap the curve with three dials. scale multiplies the dilation ABOVE rest, per frame: hold' = 1 + (hold - 1) * scale, so unheld frames stay unheld and 0.0 flattens the map entirely. floor is the minimum hold EVERYWHERE - floor 2 dilates the whole clip, the uniform-baseline move, and the report prices it before you commit. ceiling caps the peaks. The result recompiles through the same bridge/ramp rules as the oracle, so downstream nodes see a legal map. At the defaults (scale 1, floor 1, ceiling 8, bridge 0) the map passes through bit-identical: an already-ramped curve is a fixed point of the ramp. All clocks are the world clock; world_len is preserved.

By matlowai·Created 3 months ago·Updated about 24 hours ago· 241
H3 Hold Map Remap (scale / floor / ceiling) [alpha]
    • hold_map
    • segments
    • report
    ◄hold_map►
    ◄scale1.00►
    ◄floor1►
    ◄ceiling8►
    ◄fps24►
    ◄ramptrue►
    ◄bridge0►
    ◄s_per_step0.00►
    ◄est_steps18►
    ◄overhead_s6.7►
    Categorylatent/minimax/motion

    Inputs (10)

    NameTypeDefaultDescription
    hold_mapSTRINGany oracle-format hold map (holds + world_len)
    scaleFLOAT1.000–8multiplies dilation above rest: hold' = 1 + (hold-1)*scale
    floorINT11–8minimum hold everywhere; above 1 the WHOLE clip regenerates
    ceilingINT81–8maximum hold after scaling
    fpsINT241–120—
    rampBOOLEANtruere-relax to C1 shoulders after scaling, same rule as the oracle
    bridgeINT00–20re-bridge short valleys at the new peak; 0 = keep the map's own bridging
    s_per_stepoptFLOAT0.000–120seconds per step from a baseline render of this clip; 0 skips the minutes estimate
    est_stepsoptINT181–100steps the regen pass will actually run (total_steps x inject)
    overhead_soptFLOAT6.70–600fixed non-sampling seconds per render (setup, VAE encode/decode). 40 measured at 1.5 MP on a warm instance; take it from the gap between your own 1-step and 2-step wall times

    Outputs (3)

    NameTypeDescription
    hold_mapSTRING—
    segmentsSTRING—
    reportSTRING—