ComfyUI Node
arkennemasis Plate Lock (freeze + measure the base photo)
Freeze one base photograph and measure it. Records the file hash, dimensions, colour profile, per-region boxes and the scale-invariant proportion ratios that Stage 7 compares every candidate against. After this, the plate never changes for the rest of the run.
arkennemasis Plate Lock (freeze + measure the base photo)
- plate
- mask_1
- mask_2
- mask_3
- mask_4
- subject_mask_in
- plate
- subject_mask
- plate_lock_json
- report
- plate_path
◄plate_idfront►
◄lock_dirvariation/plates►
◄regions►
◄region_mask_dir►
◄colour_profilesRGB►
◄overwritefalse►
Categoryarkennemasis/Variation
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| plate | IMAGE | The chosen, retouched base photograph. One per camera angle. | |
| plate_id | STRING | front | Camera-angle id. Must match the plate id used in the recipe and the job keys. |
| lock_dir | STRING | variation/plates | Where the frozen plate and its lock file are written. Relative paths resolve inside ComfyUI's output folder. |
| regionsopt | STRING | Comma-separated region names, in the same order the mask sockets below are wired. The names are the product's own and come from the recipe — this node never invents them, and nothing downstream assumes any particular set. | |
| region_mask_diropt | STRING | Optional folder of <region>.png masks (white = the region). Authored once per plate and reused by every cell, so hand-painting them is entirely reasonable. | |
| mask_1opt | MASK | Region mask 1 — pairs with the first name in 'regions'. | |
| mask_2opt | MASK | — | |
| mask_3opt | MASK | — | |
| mask_4opt | MASK | — | |
| subject_mask_inopt | MASK | Optional explicit whole-subject mask. Omitted = derived from the plate's own border colour. | |
| colour_profileopt | STRING | sRGB | Decided once, here, and enforced at verification and embedded at delivery. Generating in one space and delivering in another is the usual cause of 'the colour looks wrong' after delivery. |
| overwriteopt | BOOLEAN | false | Off: refuse to replace an existing locked plate. That refusal is the lock doing its job — re-locking mid-run silently changes what every later cell is compared to. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| plate | IMAGE | — |
| subject_mask | MASK | — |
| plate_lock_json | STRING | — |
| report | STRING | — |
| plate_path | STRING | — |