Extract seed resolution nodes

This commit is contained in:
2026-06-26 22:32:10 +02:00
parent 9b9b0cbb4c
commit 029ece173e
5 changed files with 599 additions and 515 deletions
+12 -5
View File
@@ -7,7 +7,8 @@ routing map in `docs/prompt-pool-routing-map.md`.
The current branch adds two major surfaces:
- `SxCP Krea2 Resolution Selector` in `__init__.py`, with README notes.
- `SxCP Krea2 Resolution Selector` in `node_seed_resolution.py`, with README
notes.
- Expanded hardcore interaction/manual/action pools in
`categories/sexual_poses.json`,
`categories/expression_composition_pools.json`, `prompt_builder.py`, and
@@ -271,7 +272,7 @@ Improve later:
### Node / UI Path
Owner: `__init__.py`, `loop_nodes.py`, `web/*.js`.
Owner: `__init__.py`, `node_seed_resolution.py`, `loop_nodes.py`, `web/*.js`.
Keep here:
@@ -279,10 +280,16 @@ Keep here:
- widget behavior;
- button actions;
- dynamic input slots.
- seed and resolution utility node declarations in `node_seed_resolution.py`.
Already isolated:
- seed/global-seed/seed-locker and SDXL/Krea2 resolution utility nodes live in
`node_seed_resolution.py`, with registration maps imported by `__init__.py`.
Improve later:
- split large node classes into files by family;
- split remaining large node classes into files by family;
- keep node display names, return names, and docs in sync through the audit
helper;
- add small endpoint tests for profile/accumulator/index-switch routes.
@@ -400,8 +407,8 @@ Medium-term:
## Recommended Next Passes
1. Split `__init__.py` node classes by family after behavior is covered by smoke
checks.
1. Continue splitting remaining `__init__.py` node classes by family after
behavior is covered by smoke checks.
2. Continue splitting the internals of `hardcore_role_graphs.py` by action
family once generated edge cases are covered by smoke fixtures.
3. Add more route-level smoke fixtures for generated edge cases that are not
+3 -4
View File
@@ -24,8 +24,8 @@ When a result is wrong, first identify which layer owns the bad text:
- Raw builder prompt acceptable, Krea2 output wrong: edit `krea_formatter.py`.
- Raw builder prompt acceptable, SDXL tags wrong: edit `sdxl_formatter.py`.
- Natural caption/training caption wrong: edit `caption_naturalizer.py`.
- UI/preview/loop behavior wrong: edit `__init__.py`, `loop_nodes.py`, or
`web/*.js`.
- UI/preview/loop behavior wrong: edit `__init__.py`, node family modules such
as `node_seed_resolution.py`, `loop_nodes.py`, or `web/*.js`.
## High-Level Routes
@@ -691,8 +691,7 @@ These do not own prompt pool wording, but they affect execution and review:
| Index switch | `loop_nodes.py`, `web/index_switch_slots.js` | Multi-input to selected output, and selected input to multi-output routing. |
| 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. |
| SDXL bucket size | `SxCPSDXLBucketSize` in `__init__.py` | Random/fixed SDXL bucket width and height selection. |
| Krea2 resolution selector | `SxCPKrea2ResolutionSelector` in `__init__.py` | Krea-compatible width/height and API aspect/resolution helper. |
| Seed and resolution utility nodes | `node_seed_resolution.py`, imported by `__init__.py` | Global/per-axis seed configs plus SDXL/Krea width/height helpers. |
## Drift Audit Helper