Centralize formatter detail levels

This commit is contained in:
2026-06-27 13:56:21 +02:00
parent 6f6afb4d22
commit 333fa5eae6
8 changed files with 70 additions and 9 deletions
@@ -84,6 +84,15 @@ routes:
It must not make formatter-style decisions. Krea prose, SDXL tags, and training
caption sentence shape stay in their formatter modules.
Formatter detail-level handling now has one home:
- `formatter_detail.py`
It owns route-neutral prose detail levels, node choice lists, normalization, and
the concise/balanced/dense inclusion gate used by Krea2 and natural-caption
routes. It must not own route-specific style controls such as Krea photographic
mode or caption style-tail policy.
Formatter target handling now has one home:
- `formatter_target.py`
+1
View File
@@ -126,6 +126,7 @@ Core helper ownership:
| `krea_cast.py` | Shared formatter cast descriptor parsing, cast labels, cast prose, natural cast descriptor text, and label replacement used by Krea2 and caption routes. |
| `prompt_hygiene.py` | Generic prompt, caption, and negative-prompt cleanup. |
| `row_normalization.py` | Final prompt-row and pair metadata normalization: trigger prepending, extra-positive append, negative merge/dedupe, caption-part joining, embedded soft/hard row output and side-metadata synchronization, and embedded row sanitation. |
| `formatter_detail.py` | Shared formatter detail-level choices, normalization, and concise/balanced/dense gates used by Krea2 and caption routes. |
| `formatter_input.py` | Shared formatter input parsing: text cleanup, metadata/source JSON detection, trigger-prefix stripping, shared prompt field-label inventory, fallback field-label stripping, `Avoid:` splitting, prompt-field extraction, and metadata row-value fallback. |
| `formatter_target.py` | Shared formatter target choices and normalization for `auto`, `single`, `softcore`, and `hardcore`, including pair-side selection and combined-caption inclusion policy. |
| `node_tooltips.py` | Node input tooltip inventory, node-specific overrides, dynamic-input fallback rules, and tooltip injection installer used by `__init__.py`. |