Extract seed config policy
This commit is contained in:
@@ -304,8 +304,12 @@ Already isolated:
|
||||
|
||||
- direct and config-driven prompt builder nodes live in `node_builder.py`, with
|
||||
registration maps imported by `__init__.py`.
|
||||
- seed/global-seed/seed-locker and SDXL/Krea2 resolution utility nodes live in
|
||||
`node_seed_resolution.py`, with registration maps imported by `__init__.py`.
|
||||
- seed axis salts/aliases, seed mode choices, lock builders, seed config
|
||||
parsing, row seed math, and deterministic axis RNG live in `seed_config.py`;
|
||||
seed/global-seed/seed-locker nodes live in `node_seed_resolution.py`, with
|
||||
registration maps imported by `__init__.py`.
|
||||
- SDXL/Krea2 resolution utility nodes live in `node_seed_resolution.py`, with
|
||||
registration maps imported by `__init__.py`.
|
||||
- camera/orbit/Qwen translator utility nodes live in `node_camera.py`, using
|
||||
`camera_config.py` for option lists and JSON builders, with registration maps
|
||||
imported by `__init__.py`.
|
||||
|
||||
@@ -69,6 +69,7 @@ Core helper ownership:
|
||||
| --- | --- |
|
||||
| `category_library.py` | JSON category loading, subcategory normalization, named scene/expression/composition pool loading, cast compatibility filtering, exact subcategory lookup, and inheritance-based pool merging. |
|
||||
| `camera_config.py` | Camera option schema, direct/orbit/Qwen camera JSON builders, camera config parsing, plain camera directive text, and camera caption labels. |
|
||||
| `seed_config.py` | Seed axis salts/aliases, seed mode choices, global/axis lock JSON builders, seed config parsing, row seed math, and deterministic axis RNG construction. |
|
||||
| `pair_options.py` | Insta/OF option schema/defaults, softcore category/outfit/pose pools, partner outfit pools, clothing-continuity labels, negatives, and hardcore cast count policy. |
|
||||
| `pair_rows.py` | Insta/OF soft/hard row creation, softcore expression override resolution, Woman A slot context application, soft outfit/pose overrides, and POV row fields. |
|
||||
| `pair_camera.py` | Insta/OF soft/hard camera route resolution, same-as-softcore camera mode, camera-detail override, camera-aware composition mutation, POV camera suppression, and synchronized row/root camera metadata. |
|
||||
@@ -124,8 +125,8 @@ These recipes identify the intended road before editing prompt text.
|
||||
|
||||
## Seed Axes
|
||||
|
||||
Seed routing is centralized around `SEED_AXIS_SALTS`, `SEED_AXIS_ALIASES`, and
|
||||
`_axis_rng` in `prompt_builder.py`.
|
||||
Seed routing is centralized in `seed_config.py` around `SEED_AXIS_SALTS`,
|
||||
`SEED_AXIS_ALIASES`, and `axis_rng`.
|
||||
|
||||
| Axis | Controls |
|
||||
| --- | --- |
|
||||
@@ -161,8 +162,9 @@ axes change.
|
||||
| Same soft/hard pair but different hardcore action | In pair mode, keep `person_seed`, `scene_seed`, `content_seed` if clothing must stay; change `pose_seed`/`role_seed`. |
|
||||
| Debug expression only | Fix everything except `expression_seed` or expression intensity. |
|
||||
|
||||
Common trap: `row_number` participates in `_axis_rng`. If two workflows have the
|
||||
same seeds but different `row_number`, they are not expected to match.
|
||||
Common trap: `row_number` participates in `seed_config.axis_rng`. If two
|
||||
workflows have the same seeds but different `row_number`, they are not expected
|
||||
to match.
|
||||
|
||||
## Category Sources
|
||||
|
||||
@@ -699,7 +701,7 @@ These do not own prompt pool wording, but they affect execution and review:
|
||||
| Accumulator | `loop_nodes.py`, `web/accumulator_preview.js` | Stores generated values/images during workflow execution and previews/reorders/deletes them. |
|
||||
| Persistent text preview | `loop_nodes.py`, `web/preview_any_text.js` | Stores any value as text and keeps it after workflow reload. |
|
||||
| Builder node wrappers | `node_builder.py`, imported by `__init__.py` | Direct prompt builder and config-driven prompt builder ComfyUI declarations. |
|
||||
| Seed and resolution utility nodes | `node_seed_resolution.py`, imported by `__init__.py` | Global/per-axis seed configs plus SDXL/Krea width/height helpers. |
|
||||
| Seed and resolution utility nodes | `node_seed_resolution.py`, imported by `__init__.py` | UI wrappers for global/per-axis seed configs via `seed_config.py`, plus SDXL/Krea width/height helpers. |
|
||||
| Camera utility nodes | `node_camera.py`, imported by `__init__.py` | UI wrappers for direct camera config, orbit-to-camera config, and Qwen MultiAngle camera translation via `camera_config.py`. |
|
||||
| Character utility nodes | `node_character.py`, imported by `__init__.py` | Hair, age/body/eyes/clothing pools, manual details, character slots, and profile save/load nodes. |
|
||||
| Hardcore position utility nodes | `node_hardcore_position.py`, imported by `__init__.py` | Position-family pool and action/filter gates for hardcore routes. |
|
||||
|
||||
Reference in New Issue
Block a user