Example workflows (generated from the real V10 INPUT_TYPES so widget order and combo values cannot drift from the node contract): - krea-v10-full-showcase-workflow.json: six cards including the new palette, environment, and framing recipes, per-card timing, gentle balance, and the report/prepared-references previews wired. - krea-v10-counter-example-workflow.json: toward content anchor plus an away style counter-example. - krea-v10-reference-stack-workflow.json: compact starter mirroring the V9 starter graph. Documentation mirroring the V9 set: - docs/krea-v10-user-guide.md and .html (visual guide, same styling as the V9 HTML guide). - docs/krea-v10-technical-paper.md: companion paper for the V10 mechanics (direction math, timing rewrite, balance budget, study cache correctness, feedback outputs, packet cross-compatibility, verification map, limitations, extension points). - docs/krea-v10-documentation-index.md and V10 rows across the docs landing page, node index, workflow README, and root README. - docs/testing.md: V10 smoke checklist and the demo-render release step (V10 demo PNGs land under docs/assets/krea-v10/demos/ at release).
3.0 KiB
Testing Guide
Use this guide to validate changes with portable paths and test images created for the package.
Local Contract Tests
These tests stub the small parts of ComfyUI needed by the V9 and V10 math and label contracts:
python -m unittest discover -s tests -p "test_*.py" -v
They verify:
- V9 widget labels remain stable for saved workflow compatibility, and V10 labels are the V9 labels plus appended rows only.
- Guide packets stay compatible in both directions: V9 cards work in the V10 stack and V10 cards work in the V9 stack.
- The text/logo guard supports both full prompt rewriting and gentle prompt preservation, and the V10 multilingual vocabulary rewrites Spanish/French/German/Portuguese/Italian marking words without touching English collision words.
- Per-layer conditioning math handles scalar and layer-weight composition, and the V10 direction feature negates targets with a symmetric layer clamp.
- Per-card timing rewrites phase multipliers and the blank-surface guard clamp always wins.
- The V10 balance budget scales hot stacks while preserving card ratios.
- The V10 study cache skips encoder passes on re-runs and re-studies when reuse is off.
- Layer-target fallback warns when conditioning cannot split into the expected bands.
- Strength curves and timestep ranges behave predictably.
Syntax Check
python -m compileall -q kg_krea_v9 kg_krea_v10 __init__.py
Real ComfyUI Smoke Test
Before a release, install the package into a real ComfyUI custom_nodes folder, restart ComfyUI, and confirm these node keys appear:
KGKrea2ImageGuideCardV9
KGTextEncodeKreaImageReferencesV9
KGKrea2ImageGuideCardV10
KGTextEncodeKreaImageReferencesV10
Then load the example workflows and replace placeholder Load Image filenames with test images created for that run. For the V10 workflows, additionally confirm:
- The stack report (Preview Any) prints per-card lines and the
Studies:pass count. - The prepared-references contact sheet (Preview Image) shows one treated frame per active card.
- A second queue with only a strength change reports zero new encoder passes when
Reuse image studiesis on. - The counter-example workflow's away card is marked in the report with negative targets.
V10 Demo Renders (release checklist)
The V10 release mirrors the V9 demo gallery: on a live Krea 2 ComfyUI, render one demo per new control (the four new recipes, an away-card pair, and a per-card timing example), save the PNGs with embedded workflow metadata under docs/assets/krea-v10/demos/, and link them from the V10 guides - the same format as docs/assets/krea-v9/demos/.
Test Images
- Use images generated specifically for the test, public-domain fixtures, or images explicitly provided for the test.
- Keep generated test inputs and outputs outside the git repo, or under ignored local folders such as
input/,output/, ortemp/. - Do not commit generated images unless they are intentionally curated public documentation assets.