CivArchive
    Wan2.2 I2V V2V Video Extend Quant 14B - CascadeEventHorizontNode
    NSFW
    Preview 132122654

    # Singularity R91 for ComfyUI

    Singularity is a public-alpha ComfyUI custom node for Wan I2V / V2V cascade continuation.

    It is built for users who want longer Wan videos without manually extracting a last frame, loading it again, making another short clip, and stitching everything later.

    ## What It Does

    Singularity turns this manual loop:

    ```text

    generate a short clip

    find a good tail frame

    load that frame as the next source

    generate the next clip

    repeat

    stitch everything later

    ```

    into one controlled node workflow:

    ```text

    generate

    pause

    choose a tail frame

    continue the same run

    save one stitched final video

    ```

    ## Main Features

    - One visible ComfyUI node: Singularity.

    - Wan I2V / V2V cascade continuation.

    - Up to five cascade segments in this public alpha.

    - Optional pause after cascade 1, 2, 3, and 4.

    - Detached Source / Tail 1 / Tail 2 / Tail 3 / Result panel under the node.

    - Manual tail-frame selection before continuation.

    - Same-run resume instead of unrelated separate renders.

    - Final stitched video output.

    - Markdown report output with cascade, motion, runtime, delta, and Strategy diagnostics.

    - Clean public defaults: no bundled image, empty positive prompt, built-in Wan-style Chinese negative prompt.

    - Native ComfyUI image upload button is preserved.

    ## New In R91

    R91 is a stabilization update for modern ComfyUI Desktop.

    - Visible title now shows Singularity R91.

    - The public node surface is clean for fresh installs.

    - The math_control_mode dropdown now shows only the clean public modes.

    - Older saved workflow values are still normalized by the backend.

    - Pause/continue UI remains detached below the node.

    - The native upload button is preserved.

    - Strategy Control Surface diagnostics are included in reports.

    - Experimental math remains neutral by default.

    ## About The Math

    Singularity studies generation as an event:

    ```text

    Outcome(t-1) + ObservedBehavior(t-1)

    = Strategy(t)

    = ObservedBehavior(t+1) + Outcome(t+1)

    ```

    For normal users, this means the node helps you inspect whether the source image, prompt meaning, model behavior, sampler route, motion, and final video are staying connected.

    This is not a magic quality button. It is a control and diagnostics layer.

    Use OBSERVE_ONLY for a safe baseline.

    Use STRATEGY_PRESSURE_WINDOW only when you intentionally want to test bounded experimental math. With high_delta_strength = 1.0 and low_delta_strength = 1.0, it stays neutral.

    Use LATENT_DELTA_SCALE and DEEP_STEP_DELTA_CONTROL only for research.

    ## Recommended First Test

    ```text

    cascade_count = 2

    pause_after_cascade_1 = true

    frames_per_cascade = 49

    width = 704

    height = 1280

    fps = 16

    seed = 123

    math_control_mode = OBSERVE_ONLY

    high_delta_strength = 1.0

    low_delta_strength = 1.0

    save_video = true

    save_report = true

    ```

    Pick a source image, write a clear prompt, generate, choose a tail frame when the panel appears, continue, then inspect the final stitched video and report.

    ## Public Alpha Notes

    - Models are not included.

    - This is Wan-first.

    - Heavy resolutions require more VRAM and time.

    - CompletionGate = PASS means the route completed and a final video exists. It does not guarantee perfect visual quality.

    - Always inspect the final video, not only the report.

    Description

    # Event Horizon / Event Equality Core - Public Changelog

    ## 0.1.1-r59 Public Alpha Clean

    Compared with the previous public build:

    ```text

    previous public: ComfyUI-Event-Equality-Core_v0.1.1-r56_PublicAlphaCleanReadme.zip

    current public: ComfyUI-Event-Equality-Core_v0.1.1-r59_PublicAlphaClean.zip

    ```

    Status: public alpha / experimental.

    The main r59 goal is to keep one clean user-facing node, Event Horizon, while adding stronger diagnostics, safer input handling, and a better placement for the math layer so it does not break the native generation physics.

    ## Short Summary

    Compared with r56:

    - Added r57 motion-math metrics.

    - Added r58 input-integrity hardening.

    - Corrected r59 LATENT_DELTA_SCALE: it now uses a safe semantic overlay / native-sampler-preserving path instead of replacing the sampler step loop by default.

    - Added the separate experimental DEEP_STEP_DELTA_CONTROL mode for deeper math research.

    - Cleaned the public package: one external node, no debug nodes, no old workflow aliases, no examples, no checklists, no test artifacts.

    - Rewrote the README as public user documentation instead of an internal handoff note.

    ## Important Workflow Change

    r56 public exported:

    ```text

    EventHorizon

    EventHorizonR56PublicAlpha

    EventDebugPing

    EventSaveReportToFile

    ```

    r59 public clean exports only:

    ```text

    EventHorizon

    ```

    In the ComfyUI interface this appears as:

    ```text

    Event Horizon

    ```

    If an old workflow was saved with a versioned class id such as EventHorizonR56PublicAlpha, remove that old node and add a fresh Event Horizon node. This is intentional: the public package should stay clean and not accumulate internal development aliases.

    ## What Was Added After r56

    ### r57 - Motion Math Metrics Diff

    r57 adds more detailed motion math after decode.

    New metrics:

    - frame_delta_norm_p25

    - frame_delta_norm_p50

    - frame_delta_norm_p75

    - frame_delta_norm_p90

    - frame_delta_norm_p95

    - frame_delta_norm_iqr

    - frame_delta_norm_cv_ratio

    - frame_delta_p95_to_p50_ratio

    - frame_delta_jerk_abs_mean

    - frame_delta_jerk_ratio

    - frame_motion_stability_score

    - frame_motion_profile

    What this gives you:

    - faster fixed-seed comparison between runs;

    - clearer visibility into smoother, sharper, unstable, or spiky motion;

    - less accidental mixing between single-run and cascade-run baselines because the runtime signature is stricter;

    - more useful reports for behavior analysis, not just pass/fail status.

    Important: these metrics are observer-only. They do not mutate tensors and do not improve video quality by themselves.

    ### r58 - Input Integrity Hardening

    r58 adds central input normalization before generation.

    Values now normalized and protected:

    - cascade_count

    - frames_per_cascade

    - width

    - height

    - fps

    - seed

    - sampler windows: primary_start_step, primary_end_step, secondary_start_step, secondary_end_step

    - math_control_mode

    - high_delta_strength

    - low_delta_strength

    - decode_tile_size

    - decode_overlap

    - decode_temporal_size

    - decode_temporal_overlap

    - image_upscale_method

    - image_crop

    - cleanup_timing

    - video_format

    - save_prefix

    - sampler_trace_mode

    - sampler_trace_max_steps

    What this gives you:

    - stale or partially corrupted widget values are less likely to break a run;

    - width, height, and decode values are constrained into safe ranges;

    - overlap cannot exceed safe tile limits;

    - empty or unsafe save_prefix values are converted into safe file names;

    - sampler and scheduler values are checked against available KSamplerAdvanced options when ComfyUI exposes them;

    - the report records EventInputNormalization and EventInputNormalizationAdjustments.

    UI hardening:

    - prompt boxes are wider and taller;

    - positive and negative prompt widgets are protected from overlap during resize/configuration cycles;

    - widget order is not sorted, because ComfyUI stores widget values positionally.

    ### r59 - Strategy Math Native Loop / Overlay Correction

    r59 adds a deeper split between safe public math behavior and experimental deep-step math behavior.

    Main correction:

    ```text

    LATENT_DELTA_SCALE no longer replaces the native sampler loop by default.

    ```

    Why:

    A rough step-by-step sampler loop replacement can turn the output into noise even when the structural gate still shows PASS. That means the math started overriding generation physics instead of helping the model hold the intended semantic strategy.

    What changed:

    - LATENT_DELTA_SCALE now uses the safe semantic_overlay_native_sampler path.

    - The model's native sampler remains the main generator.

    - Delta math is applied as a controlled semantic overlay / post-window relation layer.

    - The report now includes EventMathSamplerPathPolicy, so the selected math path is visible.

    - Fixed false huge relative_delta when the high-stage baseline norm is zero.

    - High-to-low coupling is no longer incorrectly suppressed by a zero-latent start.

    - Added the separate research mode DEEP_STEP_DELTA_CONTROL.

    ## Math Control Modes

    ### OBSERVE_ONLY

    Safe baseline mode.

    What it does:

    - runs generation through the normal path;

    - records math/report records;

    - should not intentionally mutate generation tensors;

    - is suitable for baseline comparison.

    When to use it:

    - first test after installation;

    - checking that model, workflow, image, VAE, CLIP, and save path all work;

    - baseline before delta or motion comparisons.

    ### LATENT_DELTA_SCALE

    The public default working mode.

    What it does:

    - measures latent movement as ObservedBehavior;

    - applies high_delta_strength and low_delta_strength;

    - preserves the native sampler path;

    - writes math policy records;

    - helps study how changing high/low latent delta strength affects the strategy carrier between stages.

    Practical meaning:

    - 1.0 = neutral;

    - below 1.0 = reduce this stage's delta contribution;

    - above 1.0 = amplify this stage's delta contribution.

    Formula meaning:

    ```text

    delta strength changes ObservedBehavior

    ObservedBehavior changes Outcome

    Outcome becomes StrategyCarrier for the next stage

    ```

    So this is not just a quality slider. It is a controlled change to the latent route that gets passed forward.

    ### DEEP_STEP_DELTA_CONTROL

    Experimental research mode.

    What it does:

    - enables the deeper native step-loop control path;

    - can intervene more strongly in step dynamics;

    - is meant for studying where the math belongs inside the intersection of model output, sampler state, latent state, and prompt strategy.

    Risk:

    - it can produce noise;

    - it requires sweeps over high_delta_strength / low_delta_strength;

    - it is not recommended as a normal public-user mode.

    When to use it:

    - only for controlled experiments;

    - only with a fixed seed;

    - always save the report;

    - always inspect the actual video, not just PASS/BLOCKED status.

    ## Drift: What It Means In This Node

    Drift is measurable separation between the intended route and the actual generation trajectory.

    Drift types:

    - Source drift: the video stops respecting the source image.

    - Prompt drift: the result moves away from the positive prompt or toward the negative prompt.

    - Identity drift: the main object or character changes more than intended.

    - Motion drift: movement becomes jerky, spiky, reversed, or too chaotic.

    - Cascade drift: the next cascade segment does not continue the previous segment cleanly.

    - Route drift: runtime route, stage order, or boundary records do not match the expected logic.

    - Math drift: the selected math starts overriding generation instead of refining strategy.

    Important:

    The report does not remove drift by itself. It shows where drift appears so fixed-seed runs can be compared with evidence.

    ## Full Node Functionality

    ### External Node

    ```text

    Event Horizon

    ```

    This is the only visible node in the public clean package.

    It combines:

    - source image loading;

    - prompt encoding;

    - high sampler stage;

    - low sampler stage;

    - optional cascade continuation;

    - VAE decode;

    - video saving;

    - report saving;

    - runtime diagnostics;

    - Event Equality records.

    ### Required Inputs

    primary_model

    Main model branch. Used for the high/main sampling stage.

    clip

    Text encoder. Converts positive/negative prompts into conditioning.

    vae

    Used to decode latent frames into images/video.

    source_image_file

    Image picker for the ComfyUI input folder. If the external image socket is not connected, the node uses this file picker.

    positive_prompt

    What the model should generate. In the project logic, this is not the whole Strategy; it is a carrier / part of the StrategyCandidate.

    negative_prompt

    What the model should avoid. This is a negative constraint carrier.

    temporal_texture_lock

    Flag for temporal/texture continuity intent. In public alpha it is part of route intent and report context.

    ### Optional Inputs

    secondary_model

    Optional low/secondary model branch. If it is not connected, the node can fall back to a single branch and record a conflict/warning.

    image

    Direct IMAGE input when the workflow passes an image instead of using the file picker.

    mask

    Optional mask input. Currently used as report/context input for future or partial masked-route scenarios.

    ## Generation Controls

    cascade_count

    Number of generation segments.

    - 1 = single video;

    - 2-5 = cascade continuation.

    frames_per_cascade

    Number of frames per cascade segment.

    width, height

    Video dimensions. Normalized into a safe step-aligned range.

    fps

    Output video frame rate.

    seed

    Seed for reproducible comparisons. For metric research, keep the same seed across runs.

    ## Sampler Controls

    sampler_name

    Sampler name. r58+ tries to validate it against available ComfyUI sampler options.

    scheduler

    Scheduler for the sampling path. Also validated/fallbacked when ComfyUI exposes allowed values.

    global_steps

    Total sampling steps.

    primary_cfg

    CFG for the primary/high branch.

    secondary_cfg

    CFG for the secondary/low branch.

    primary_start_step, primary_end_step

    Step window for the high sampler stage.

    secondary_start_step, secondary_end_step

    Step window for the low sampler stage.

    ## Delta Controls

    math_control_mode

    Selects the math mode:

    - OBSERVE_ONLY

    - LATENT_DELTA_SCALE

    - DEEP_STEP_DELTA_CONTROL

    high_delta_strength

    Scales high-stage latent delta.

    low_delta_strength

    Scales low-stage latent delta.

    Practical recommendation:

    Start with:

    ```text

    high_delta_strength = 1.0

    low_delta_strength = 1.0

    ```

    For comparison after baseline:

    ```text

    high_delta_strength = 0.988

    low_delta_strength = 1.0

    ```

    ## Decode Controls

    decode_tile_size

    Tile size for VAE decode.

    decode_overlap

    Overlap between tiles. r58+ prevents it from becoming unsafe relative to tile size.

    decode_temporal_size

    Temporal tile size for video decode.

    decode_temporal_overlap

    Temporal overlap. r58+ constrains it relative to temporal size.

    ## Image Controls

    image_upscale_method

    Source image resize method:

    - nearest-exact

    - nearest

    - bilinear

    - area

    - bicubic

    - lanczos

    image_crop

    Crop mode:

    - disabled

    - center

    ## Cleanup / Barrier Controls

    cleanup_timing

    Controls cleanup/barrier timing:

    - NONE

    - BEFORE_GENERATION

    - BETWEEN_SAMPLERS

    - AFTER_GENERATION

    - BEFORE_AND_AFTER

    - ALL

    What it does:

    - records where cleanup boundaries were called;

    - attempts to release disposable memory;

    - should not destroy tensors needed by the low sampler or final output;

    - writes Smart Branch Barrier records into the report.

    Formula meaning:

    The barrier must not break the StrategyCarrier between the high and low stages.

    ## Save Controls

    save_video

    Saves the video to ComfyUI output.

    video_format

    Save format:

    - video/h264-mp4

    - video/h265-mp4

    - image/webp

    - image/gif

    save_report

    Saves the markdown report.

    save_prefix

    Output file prefix. r58+ sanitizes unsafe characters and empty values.

    ## Sampler Trace Controls

    sampler_trace_mode

    Step trace mode:

    - OFF

    - SHADOW_STEP_TRACE

    SHADOW_STEP_TRACE writes shadow records for step-level behavior analysis, but it should not replace the main sampler output.

    sampler_trace_max_steps

    Limits the number of traced steps so reports do not grow without control.

    ## Outputs

    status

    Short execution status.

    saved_video_path

    Path to the saved video when save_video = true and saving succeeds.

    saved_report_path

    Path to the saved report when save_report = true and saving succeeds.

    report

    Report text returned directly from the node output.

    ## What The Report Can Include

    The report can include:

    - runtime version/name;

    - generation settings snapshot;

    - source image load status;

    - text encode records;

    - high/low sampler records;

    - latent boundary math;

    - frame motion math;

    - cascade boundary math;

    - RouteMemory timeline;

    - S-Wire state;

    - SState snapshots;

    - EventConflict records;

    - CompletionGate;

    - RuntimeMonitor summary;

    - optional sidecar paths;

    - sampler trace summary;

    - input normalization adjustments.

    ## CompletionGate

    EventCoreBodyCompletionGate = PASS means structural integrity of the runtime route:

    - required stages were recorded;

    - stage order was valid;

    - report/finalize logic reached completion;

    - the node returned the expected outputs.

    It does not mean:

    - the video is visually good;

    - the prompt was understood perfectly;

    - drift is absent;

    - deep math mode is safe for all cases.

    Correct verification:

    ```text

    result_status = VIDEO

    EventCoreBodyCompletionGate = PASS

    video visually inspected

    report metrics compared against baseline

    ```

    ## Recommended Test Matrix

    ### First Run

    ```text

    math_control_mode = OBSERVE_ONLY

    high_delta_strength = 1.0

    low_delta_strength = 1.0

    cascade_count = 1

    save_video = true

    save_report = true

    ```

    Goal: check that model, VAE, CLIP, image input, and save path work.

    ### Public Default Run

    ```text

    math_control_mode = LATENT_DELTA_SCALE

    high_delta_strength = 1.0

    low_delta_strength = 1.0

    ```

    Goal: check the safe overlay path.

    ### Delta Comparison

    ```text

    math_control_mode = LATENT_DELTA_SCALE

    high_delta_strength = 0.988

    low_delta_strength = 1.0

    same seed as baseline

    ```

    Goal: compare motion metrics and visual output.

    ### Cascade Test

    ```text

    cascade_count = 5

    frames_per_cascade = 49

    same seed

    ```

    Goal: check cascade continuation and boundary records.

    ### Experimental Deep Math Test

    ```text

    math_control_mode = DEEP_STEP_DELTA_CONTROL

    high_delta_strength = start below 1.0

    low_delta_strength = 1.0

    same seed

    ```

    Goal: study deep intervention. If noise appears, return to LATENT_DELTA_SCALE or lower strength values.

    ## Known Limits

    - Public alpha, not production-stable.

    - The main testbed is currently Wan I2V.

    - Step-level formula coverage is still not fully closed.

    - Shadow trace is a diagnostic observer, not a full native sampler hook.

    - Deep step control is research mode.

    - CompletionGate PASS does not replace visual inspection.

    - Reproducibility depends on ComfyUI, torch, GPU, drivers, model build, and sampler implementation.

    ## Package Cleanup In r59 Public

    Removed from the public package:

    - old examples;

    - internal release checklists;

    - debug node exports;

    - versioned public aliases;

    - pycache;

    - generated output artifacts;

    - handoff/transfer files;

    - private workflows;

    - old reports and videos.

    Kept:

    - working node code;

    - imported internal modules;

    - web UI helper;

    - README;

    - CHANGELOG;

    - license;

    - requirements;

    - pyproject;

    - version file;

    - formula integrity note.

    FAQ