Files
ComfyUI-Ethanfel-Prompt-Bui…/docs/superpowers/specs/2026-07-01-scene-layer-seed-design.md

2.7 KiB

Scene Layer Seed Design

Problem

SxCPSceneLayerSeedOptions currently has a confusing double-seed behavior. When seed_mode=random, the node displays one seed in the widget, but the build method replaces it with a hidden SystemRandom value. The generated prompt may therefore use a clothing/content seed that is not visible in the workflow after the run.

This makes softcore branch clothing hard to reproduce. In a scene pair, the woman's softcore outfit is selected from the softcore branch content seed, then the hardcore branch may inherit that outfit through clothing continuity. If the resolved content seed is hidden, the user cannot reliably answer which seed picked the clothes.

Approved Behavior

The visible seed field in SxCPSceneLayerSeedOptions is the authoritative seed. seed_mode=random must no longer replace it with a hidden random value. For layer-seed behavior:

  • follow_global: use the scene seed.
  • fixed: use the visible node seed.
  • random: use the visible node seed.
  • disabled: apply no layer seed.

The random option can remain in the UI for compatibility, but it behaves like an explicit seed mode. If a user wants a new random value, they should randomize the visible seed field in the node or use ComfyUI's widget randomization.

Seed Reporting

The existing scene seed_trace remains the source of truth for resolved prompt axis seeds. For softcore branch clothing, the relevant trace is usually:

  • layer: softcore_branch
  • reroll axis: content or content_pose
  • affected axes: content_seed, and for content_pose also pose_seed and role_seed

Scene pair metadata should continue to include the full softcore and hardcore scene chain so seed_trace is preserved in metadata_json and scene_metadata_json.

Non-Goals

This change does not introduce a separate clothing_seed axis. Clothing is still part of the existing content axis. Splitting clothing from content would be a larger behavior change and should be handled separately if needed.

This change does not alter image sampler seeds. KSampler/image seeds remain separate from prompt layer seeds.

Testing

Add or update smoke coverage for SxCPSceneLayerSeedOptions:

  • A random mode layer seed emits the visible widget seed in its metadata.
  • A fixed mode layer seed emits the same seed as random when given the same visible seed.
  • A softcore branch content or content_pose seed appears in the generated softcore row seed_config.
  • The generated softcore outfit can be traced to that visible content seed.

Existing scene pair tests should continue to verify that softcore branch seeds do not leak into hardcore pose/content seeds unless explicitly applied to the hard branch.