Update public docs to the retuned V10 recipes

Removes every stale claim left from the pre-retune era. The Recipe Builder's intent bases now mirror the shipped bundles (they still emitted palette-wash style/lighting/material and the even shapes table); intents whose built-in table differs from the role default always write layers, the style and lighting intents carry their shipped focus texts as defaults, and the reserved-label list includes the two newer starter recipes - all builder outputs re-verified through the real recipe loader. The remaining 0.2.1-era demo images (timing and direction journeys, material demo, showcases, gallery sheet) are re-rendered through the live nodes. README strength guidance moves to the render-calibrated bands; the V10 card page documents the four V10-only recipe overrides instead of claiming V9-identical behavior; user guides, testing checklist, docs index, and the Recipe Kit README are synced (five starter recipes, built-in focuses, strong-blur taming pattern).
This commit is contained in:
Kevin Gilper
2026-07-06 19:36:37 -04:00
parent 8bf546d016
commit 84e336d302
16 changed files with 91 additions and 55 deletions
+11 -9
View File
@@ -19,11 +19,11 @@ inspect the exact setup.
| Goal | How to set it up |
| --- | --- |
| Put image 2's style onto image 1 | Image 1: `keep the same subject` at `0.80`. Image 2: `suggest the visual style` at `0.45` to `0.65`. |
| Put image 2's style onto image 1 | Image 1: `keep the same subject` at `0.80` to `0.90`. Image 2: `suggest the visual style` at `0.55` (its cap is `0.65`). |
| Keep a product or character recognizable | Use `keep the same subject` for the identity image, then add lower-strength style, lighting, or material cards. |
| Borrow lighting without copying the subject | Use `copy lighting and mood` around `0.30` to `0.45`. |
| Borrow a surface or finish | Use `suggest material or texture` around `0.45` to `0.65`. |
| Follow a pose, crop, or composition | Use `copy pose and layout` or `copy big shapes only` at gentle to medium strength. |
| Borrow lighting without copying the subject | Use `copy lighting and mood` around `0.65`; push toward `0.90` for full drama. |
| Borrow a surface or finish | Use `suggest material or texture` at `0.55` (raise toward its `0.65` cap only when the object's exact form matters less). |
| Follow a pose, crop, or composition | Use `copy pose and layout` around `0.90`, or `copy big shapes only` around `0.90` for silhouette-only steering. |
| Use a reference that contains text or logos | Add `avoid copying text/logos` at very low strength, usually around `0.03`. |
## How The Workflow Thinks
@@ -155,14 +155,16 @@ so the Krea reference nodes are easy to inspect.
| --- | --- | --- |
| `0.00` | Off | Keep a card connected but inactive. |
| `0.03` to `0.08` | Tiny nudge | Text/logo guard, shape hints, stubborn prompts. |
| `0.10` to `0.25` | Gentle guidance | Layout, material, mood-board influence. |
| `0.25` to `0.45` | Strong guidance | Lighting, texture, pose, broad style. |
| `0.50` to `0.90` | Very strong | Content anchor or deliberate style transfer. Watch for over-copying. |
| `0.20` to `0.50` | Gentle whisper | A hint of palette, mood, or material - deliberately subtle. |
| `0.55` to `0.90` | The working band | Style, palette, lighting, material, and mood land clearly here (many cap themselves at `0.65`-`0.9`). |
| `0.90` to `1.20` | Structure and identity | Content anchors, pose/layout, and big shapes. Watch for over-copying. |
Tips:
- Start strengths low and raise slowly.
- Use `0.80` only when the main subject must stay stable.
- Start strengths low and raise slowly; appearance recipes whisper by design
below about `0.5`.
- Use `0.80`-`0.90` on `keep the same subject` when the main subject must
stay stable.
- Lower `Image detail level` if a style image starts copying the wrong subject.
- Raise `Written prompt strength` when the text prompt should win over references.
- Use text/logo guard whenever a reference includes readable marks.
+3 -2
View File
@@ -61,10 +61,11 @@ nothing:
| You want to borrow | Use treatment | Why it is safe |
| --- | --- | --- |
| colors / palette / mood | `palette wash` | the source's shapes are destroyed first, so its subject **cannot** leak into your image |
| style / medium / light mood | `strong blur` + a de-selecting `focus` + a cap | how the shipped style and lighting recipes work: the blur mutes detail, the focus skips the source's subject, layout, and the blur itself - copy their pattern |
| layout / arrangement | `grayscale blur` | color is stripped, so placement arrives without recoloring |
| silhouette only | `shape wash` | everything but the big masses is removed |
| silhouette only | `shape wash` | everything but the big masses is removed (pair with a structure-heavy `layers` like the shipped shape recipe, or the gray study can mute your colors) |
| the actual subject | `normal` | nothing is removed - the subject can and will copy in |
| subject + softness | `soft blur` / `strong blur` | **caution:** these keep the source's forms; at working strengths the source object itself tends to appear or reshape your subject |
| subject + softness | `soft blur` / `strong blur` alone | **caution:** without a focus and cap these keep the source's forms; at working strengths the source object itself tends to appear or reshape your subject |
2. **`shape` is the volume knob.** It scales the one conditioning channel
that actually moves pixels on Krea 2. Render-calibrated anchors:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 KiB

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 KiB

After

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 KiB

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 KiB

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 319 KiB

+11 -8
View File
@@ -1,11 +1,13 @@
# Krea 2 V10 Documentation Index
This is the map for the V10 reference-stack nodes and workflows. V10 keeps
everything from V9 and adds four more quick recipes, user-defined recipes
(with an aspect `focus` field and three shipped starter recipes), the Recipe
Builder, guide direction (counter-examples), per-card timing, manual layer
dials, balance for hot stacks, a study cache, and two feedback outputs. The
[V9 index](krea-v9-documentation-index.md) remains the map for the V9 nodes.
everything from V9 and adds four more quick recipes, render-retuned V10-only
versions of the style, material, lighting, and big-shapes recipes,
user-defined recipes (with an aspect `focus` field and five shipped starter
recipes), the Recipe Builder, guide direction (counter-examples), per-card
timing, manual layer dials, balance for hot stacks, a study cache, and two
feedback outputs. The [V9 index](krea-v9-documentation-index.md) remains the
map for the V9 nodes.
![Synthetic reference images included with Krea Reference](../example_assets/krea-reference-examples/contact_sheet.png)
@@ -34,7 +36,7 @@ dials, balance for hot stacks, a study cache, and two feedback outputs. The
| Node | Details |
| --- | --- |
| [KG Krea 2 Image Guide Card V10](nodes/kg-krea-2-image-guide-card-v10.md) | The four new recipes, custom recipes and `focus`, guide direction, per-card timing, and the manual layer dials. |
| [KG Krea 2 Image Guide Card V10](nodes/kg-krea-2-image-guide-card-v10.md) | The four new recipes, the V10 recipe overrides (style, material, lighting, big shapes), custom recipes and `focus`, guide direction, per-card timing, and the manual layer dials. |
| [KG Krea 2 Reference Stack Encoder V10](nodes/kg-krea-2-reference-stack-encoder-v10.md) | Balance, study reuse, the stack report, and the prepared-references output. |
| [Node documentation index](nodes/README.md) | Short index of all included node pages. |
@@ -68,8 +70,9 @@ The V9 gallery lives at [assets/krea-v9/demos](assets/krea-v9/demos/).
- A recipe's `focus` field targets **one named aspect** of its reference
("the clothing and garment style, not the person") - naming what to skip
is render-verified to keep the rest behind.
- Three starter recipes ship enabled: `borrow the weather`,
`borrow the clothing style`, and `cinematic color grade`.
- Five starter recipes ship enabled: `borrow the weather`,
`borrow the clothing style`, `borrow drawing medium`,
`borrow photo finish`, and `cinematic color grade`.
- `Guide direction` turns any card into a counter-example: not this style,
not this palette, not this subject.
- `When this card guides` gives every card its own timing without touching
+9 -5
View File
@@ -319,7 +319,7 @@
</div>
<div>
<h3>Aspect focus</h3>
<p>A recipe's <code>focus</code> field studies <em>one named aspect</em> of its image - "the clothing and garment style, not the person" - and demonstrably leaves the rest behind.</p>
<p>A recipe's <code>focus</code> field studies <em>one named aspect</em> of its image - "the clothing and garment style, not the person" - and demonstrably leaves the rest behind. The built-in style and lighting recipes ship focuses of their own (visible on the stack report).</p>
</div>
<div>
<h3>Starter recipes + Builder</h3>
@@ -602,9 +602,10 @@ layers: [0.25, 0.35, 0.45, 0.6, 0.8,
</table>
<div class="callout" style="margin-top: 14px;">
<strong>Starter recipes included:</strong> <code>custom_recipes/starter-pack.yaml</code>
ships enabled with three render-validated examples - <em>borrow the
ships enabled with five render-validated examples - <em>borrow the
weather</em>, <em>borrow the clothing style</em> (a <code>focus</code>
recipe), and <em>cinematic color grade</em>. Copy from them, or delete
recipe), <em>borrow drawing medium</em>, <em>borrow photo finish</em>,
and <em>cinematic color grade</em>. Copy from them, or delete
the file to remove them from your dropdown.
</div>
<h3 style="margin-top: 18px;">What each control really does (render-verified)</h3>
@@ -614,8 +615,10 @@ layers: [0.25, 0.35, 0.45, 0.6, 0.8,
<code>palette wash</code> (structure-safe: the source's shapes are
destroyed, so its subject cannot leak in). Layout: <code>grayscale
blur</code>. Silhouette: <code>shape wash</code>. The actual subject:
<code>normal</code>. Careful with <code>soft/strong blur</code> - the
source's forms survive and tend to appear at working strengths.
<code>normal</code>. Careful with <code>soft/strong blur</code> alone -
the source's forms survive and tend to appear at working strengths;
the shipped style and lighting recipes tame strong blur with a cap
plus a de-selecting focus - copy their pattern.
<strong>2. <code>shape</code> is the volume knob</strong> - the one
channel that moves pixels on Krea 2 (anchors in the table above).
<strong>3. <code>layers</code> fine-tunes WHICH bands are
@@ -925,6 +928,7 @@ Studies: 7 encoder passes this run;
<tr><td>A card seems to do nothing.</td><td>Read its stack report line: the feel curve, a recipe cap, or the guard is usually named there. Appearance recipes are tuned to land from about strength 0.6 - below that they whisper by design.</td></tr>
<tr><td>A custom recipe does nothing at any strength.</td><td>Its <code>shape</code> is too low (below ~0.5 the card is effectively off on Krea 2) or its <code>study</code> too fine. Raise <code>shape</code> toward 0.7-1.0; raising <code>global</code> will not help on this model.</td></tr>
<tr><td>A <code>focus</code> seems ignored.</td><td>The stack report prints each card's focus - confirm it arrived. Focus is strongest on object-bound aspects (clothing, props); broad moods ride the image itself. Rephrase to name what to <em>skip</em> - de-selection is the reliable move.</td></tr>
<tr><td>Style results look soft or out of focus.</td><td>Make sure you are on the current tuning: <code>suggest the visual style</code> ships an anti-blur focus (printed on its stack-report line) that stops the recipe's deliberate reference-softening from being copied as the style. If soft-medium references (watercolor, hazy photos) still read soft, that is the medium arriving - lower the card below <code>0.6</code> or add crispness words to the prompt.</td></tr>
<tr><td>Away card makes the image muddy or empty.</td><td>Lower it below 0.30 and make sure something positive says what you do want.</td></tr>
<tr><td>Many cards fight each other.</td><td>Turn on gentle balance, or lower the two strongest cards. The report shows the applied scale.</td></tr>
<tr><td>Style card drags its subject in.</td><td>Check the prepared-references preview; if the subject is visible there, lower detail or strengthen the treatment. In manual mode, lower Structure layers pull.</td></tr>
+14 -9
View File
@@ -81,7 +81,7 @@ V10 controls). Saved V9 workflows keep working unchanged.
| `copy the camera framing` | card | Framing-only quick recipe (was manual-only in V9). |
| `mood board only` | card | Loose-inspiration quick recipe (was manual-only in V9). |
| Custom recipes | card | Your own YAML/JSON recipe files appear in `Use image for` as first-class choices. |
| `focus` recipe field | recipe file | A recipe can study **one named aspect** of its image - clothing, props, a setting - and skip the rest. |
| `focus` recipe field | recipe file | A recipe can study **one named aspect** of its image - clothing, props, a setting - and skip the rest. The built-in style and lighting recipes ship focuses of their own. |
| Starter recipes | shipped | `borrow the weather`, `borrow the clothing style`, and `cinematic color grade` load out of the box from [starter-pack.yaml](../custom_recipes/starter-pack.yaml). |
| Recipe Builder | `web/` | A single HTML page that turns three plain-language questions into a validated recipe file. |
| `Guide direction` | card | `toward this image` (V9 behavior) or `away from this image` (counter-example). |
@@ -129,7 +129,7 @@ and seed are directly comparable - the only change between them is the card.
| `copy the camera framing` | slot6 pose/layout | `0.30` | `972103` | [PNG](assets/krea-v10/demos/copy-camera-framing.png) | Camera distance, crop, and viewpoint - subject and palette stay the prompt's. |
| `avoid copying text/logos` | slot5 text/logo guard | `0.50` (clamps to `0.03`) | `972116` | [PNG](assets/krea-v10/demos/recipe-avoid-text-logos.png) | Nothing readable: the guard clamps the card and rewrites the prompt toward blank surfaces. |
| `suggest the color palette` | slot2 style reference | `0.65` | `972101` | [PNG](assets/krea-v10/demos/suggest-color-palette.png) | The reference's color relationships, as soft color fields - composition identical to the no-card baseline. |
| `suggest the visual style` | slot2 style reference | `0.65` | `972101` | [PNG](assets/krea-v10/demos/recipe-suggest-visual-style.png) | Same inputs and seed as the palette row: a broader, softer overall grade - the look, not the source's shapes. |
| `suggest the visual style` | slot2 style reference | `0.65` | `972101` | [PNG](assets/krea-v10/demos/recipe-suggest-visual-style.png) | Same inputs and seed as the palette row: true style transfer - the medium, palette, and finish energy arrive with the subject kept crisp (an anti-blur focus keeps the recipe's own softening out of the result). |
| `copy lighting and mood` | slot4 lighting/mood | `0.65` | `972113` | [PNG](assets/krea-v10/demos/recipe-copy-lighting-mood.png) | The reference's light color and tonal mood as a scene-wide cast. |
| `suggest material or texture` | slot3 material/texture | `0.55` | `972114` | [PNG](assets/krea-v10/demos/recipe-suggest-material-texture.png) | The material's surface finish and pattern energy, with source structure kept quiet. |
| `use the background/setting` | slot8 background/environment | `0.65` | `972102` | [PNG](assets/krea-v10/demos/use-background-setting.png) | The setting's palette and room mood; the model builds a coherent place around the prompt's subject. |
@@ -396,13 +396,18 @@ guarantees - keep `subject: avoid` and a job-appropriate treatment, and
render-check like everything else. The stack report prints each card's
focus so you can confirm it reached the encoder.
One built-in uses it too: `suggest the visual style` ships an anti-blur
focus ("...not the image's blurriness or soft focus, and not its subject or
scene layout"). The recipe softens the reference before study on purpose -
that is its safety guarantee - and the focus keeps that deliberate blur from
being read back as the style, so subjects stay crisp while the palette,
medium, and brushwork arrive. You will see it on the card's stack-report
line; that is expected.
Two built-ins use it too, and their focus lines appear on the stack report -
that is expected:
- `suggest the visual style` ships an anti-blur focus ("...not the image's
blurriness or soft focus, and not its subject or scene layout"). The
recipe softens the reference before study on purpose - that is its safety
guarantee - and the focus keeps that deliberate blur from being read back
as the style, so subjects stay crisp while the palette, medium, and
brushwork arrive.
- `copy lighting and mood` ships a de-place focus ("...not the place,
objects, or scene layout"), so a dramatic sky's mood arrives without the
reference's location taking over.
A complete example (the shipped template - render-validated values):
+6 -1
View File
@@ -14,7 +14,12 @@ Guide packets stay V9-compatible: a V10 card plugs into a V9 stack (which ignore
## Everything The V9 Card Has
The first fifteen rows repeat the [V9 card](kg-krea-2-image-guide-card-v9.md) exactly: strength, `Use image for`, and the manual tuning levers behave identically.
The first fifteen rows repeat the [V9 card](kg-krea-2-image-guide-card-v9.md) exactly: strength, `Use image for`, and the manual tuning levers work the same way. Four of the shared recipe labels, however, resolve to **V10-only retuned bundles** on this card (the V9 card keeps its own tuning):
- `suggest the visual style`: true style transfer - strong-blur prep with a finish-heavy layer table and an anti-blur `focus` so the medium, palette, and brushwork character arrive while subjects stay crisp and the source's scene stays out. Capped at `0.65`; lands clearly from about `0.55`.
- `suggest material or texture`: surface character (weave, glaze, relief energy) rather than a recolor; capped at `0.65`, and `0.55` is the safe point when the object's form must not move.
- `copy lighting and mood`: strong-blur prep with a de-place `focus`, so dramatic light and sky moods actually land (a storm reference delivers the storm, not a flat sunny field) without the reference's location taking over.
- `copy big shapes only`: a structure-only layer table, so the silhouette guides the composition without the recipe's gray study muting your colors.
## New Quick Recipes
+3 -2
View File
@@ -46,8 +46,9 @@ Then load the example workflows and replace placeholder Load Image filenames wit
- 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 studies` is on.
- The counter-example workflow's away card is marked in the report with negative targets.
- The three starter recipes (`borrow the weather`, `borrow the clothing style`, `cinematic color grade`) appear in `Use image for` out of the box, and the starter-recipe workflow queues cleanly.
- A recipe with a `focus` prints `Focus: ...` on its report card line.
- The five starter recipes (`borrow the weather`, `borrow the clothing style`, `borrow drawing medium`, `borrow photo finish`, `cinematic color grade`) appear in `Use image for` out of the box, and the starter-recipe workflow queues cleanly.
- A recipe with a `focus` prints `Focus: ...` on its report card line - including the built-in `suggest the visual style` and `copy lighting and mood` cards, which ship focuses of their own.
- The V10 recipe overrides resolve on the V10 card: `copy lighting and mood` resolves to `strong blur` (not the V9 palette wash) and `copy big shapes only` resolves the structure-only layer table.
- The Recipe Builder is served at `/extensions/<pack folder>/recipe-builder.html` and its downloaded files validate (drop one in `custom_recipes/`, refresh node definitions, confirm it appears).
## V10 Demo Renders (release checklist)
+34 -19
View File
@@ -230,13 +230,16 @@
<script>
/*LOGIC-START*/
// ---- Data: render-validated base bundles (mirrors kg_krea_v9/kg_krea_v10 recipes.py, 2026-07 retune) ----
// ---- Data: render-validated base bundles (mirrors kg_krea_v10 recipes.py + starter pack, 2026-07-05/06 retunes) ----
var LAYER_TABLES = {
even: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
style: [0.25, 0.35, 0.45, 0.6, 0.8, 1.0, 1.0, 2.5, 5.0, 1.1, 4.0, 1.2],
styleTransfer: [0.062, 0.087, 0.113, 0.15, 0.2, 0.25, 1.25, 3.438, 6.875, 1.375, 5.5, 1.5],
palette: [0.15, 0.2, 0.3, 0.45, 0.7, 1.0, 1.0, 2.8, 5.5, 1.3, 4.5, 1.2],
material: [0.2, 0.3, 0.45, 0.65, 0.85, 1.0, 1.0, 2.0, 4.0, 1.2, 3.0, 1.1],
materialFinish: [0.05, 0.075, 0.113, 0.163, 0.213, 0.25, 1.25, 2.75, 5.5, 1.5, 4.125, 1.375],
lighting: [0.2, 0.25, 0.35, 0.5, 0.8, 1.0, 1.0, 2.2, 4.5, 1.4, 4.0, 1.2],
structureOnly: [1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25],
flat: [0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15]
};
@@ -247,18 +250,23 @@ var INTENTS = [
family: "appearance", cant: "Its shapes and subject cannot arrive - the image is reduced to color blocks before the AI ever sees it.",
base: { role: "palette", treatment: "palette wash", color: 1.0, detail: 0.0, study: "256", framing: "stack",
subject: "avoid", early: 0.9, late: 0.9, guard: false, cap: 0.9, shape: 0.7, global: 1.8, table: "palette" } },
{ id: "style", title: "Borrow its overall look", blurb: "Palette plus finish energy - the broader art direction.",
family: "appearance", cant: "Its subject cannot arrive; the look lands as color and finish, not as its brushwork repainted onto your object.",
base: { role: "style", treatment: "palette wash", color: 0.85, detail: 0.0, study: "256", framing: "stack",
subject: "avoid", early: 0.85, late: 0.85, guard: false, cap: 0.9, shape: 0.8, global: 1.85, table: "style" } },
{ id: "style", title: "Borrow its overall look", blurb: "The medium, palette, and finish energy - real art direction.",
family: "appearance", cant: "Its subject and scene layout cannot arrive, and its deliberate pre-blur is de-selected so results stay crisp; brushwork lands as finish character, not a literal repaint.",
base: { role: "style", treatment: "strong blur", color: 1.0, detail: 0.3, study: "384", framing: "stack",
subject: "avoid", early: 0.85, late: 0.85, guard: false, cap: 0.65, shape: 0.85, global: 1.85,
table: "styleTransfer", forceLayers: true,
focus: "the artistic style: palette, medium, brushwork, art direction, and rendering finish - not the image's blurriness or soft focus, and not its subject or scene layout" } },
{ id: "lighting", title: "Borrow its lighting & mood", blurb: "Light color, contrast, and atmosphere as a scene-wide cast.",
family: "appearance", cant: "Its shapes and subject cannot arrive.",
base: { role: "lighting", treatment: "palette wash", color: 0.85, detail: 0.15, study: "256", framing: "stack",
subject: "avoid", early: 1.0, late: 0.55, guard: false, cap: 1.25, shape: 0.8, global: 1.3, table: "lighting" } },
{ id: "material", title: "Borrow its surface feel", blurb: "The material's palette and finish - a recolor, not a texture decal.",
family: "appearance", cant: "Exact grain, marks, or the subject cannot arrive.",
base: { role: "material", treatment: "palette wash", color: 0.8, detail: 0.1, study: "256", framing: "stack",
subject: "avoid", early: 0.5, late: 0.75, guard: false, cap: 0.95, shape: 1.0, global: 1.55, table: "material" } },
family: "appearance", cant: "Its place and objects stay out - broad light and sky masses arrive as mood, so dramatic skies actually land.",
base: { role: "lighting", treatment: "strong blur", color: 1.0, detail: 0.15, study: "256", framing: "stack",
subject: "avoid", early: 1.0, late: 0.55, guard: false, cap: 1.25, shape: 0.8, global: 1.3,
table: "lighting",
focus: "the lighting: light direction, contrast, mood, color cast, glow, and shadow behavior - not the place, objects, or scene layout" } },
{ id: "material", title: "Borrow its surface feel", blurb: "Surface character - weave, glaze, relief energy - not just a recolor.",
family: "appearance", cant: "Exact grain or printed marks cannot arrive; near the top of the range a strong source can nudge your object's form - stay around 0.55 when the form must not move.",
base: { role: "material", treatment: "strong blur", color: 1.0, detail: 0.35, study: "384", framing: "stack",
subject: "avoid", early: 0.35, late: 0.9, guard: false, cap: 0.65, shape: 0.8, global: 1.55,
table: "materialFinish", forceLayers: true } },
{ id: "environment", title: "Borrow its setting's vibe", blurb: "The place's palette and room mood around your subject.",
family: "appearance", cant: "It sets the atmosphere; it does not paste the literal room behind your subject, and it cannot reshape your subject.",
base: { role: "environment", treatment: "palette wash", color: 1.0, detail: 0.3, study: "256", framing: "stack",
@@ -276,9 +284,10 @@ var INTENTS = [
base: { role: "framing", treatment: "grayscale blur", color: 0.0, detail: 0.15, study: "256", framing: "preserve aspect",
subject: "avoid", early: 1.2, late: 0.15, guard: false, cap: 1.2, shape: 0.95, global: 0.25, table: "even" } },
{ id: "shapes", title: "Copy its big shapes", blurb: "Silhouette and massing steer the composition.",
family: "structure", cant: "Color, texture, and small details cannot arrive.",
family: "structure", cant: "Color, texture, and small details cannot arrive - the structure-only tuning also keeps the recipe's gray study from draining your colors.",
base: { role: "shape only", treatment: "shape wash", color: 0.0, detail: 0.0, study: "256", framing: "stack",
subject: "avoid", early: 1.1, late: 0.0, guard: false, cap: 1.0, shape: 1.2, global: 0.05, table: "even" } },
subject: "avoid", early: 1.1, late: 0.0, guard: false, cap: 1.0, shape: 1.2, global: 0.05,
table: "structureOnly", forceLayers: true } },
{ id: "identity", title: "Keep its subject", blurb: "The person, product, or object travels into your new scene.",
family: "anchor", cant: "Note: it copies faithfully - printed markings too. Add an 'avoid copying text/logos' card if you don't want them.",
base: { role: "identity", treatment: "normal", color: 1.0, detail: 1.0, study: "stack", framing: "stack",
@@ -295,7 +304,7 @@ var INTENTS = [
var LOUDNESS = [
{ id: "whisper", title: "Whisper", blurb: "A hint, even with the card turned up." },
{ id: "gentle", title: "Clear", blurb: "The tested default: lands clearly from card strength ≈0.65." },
{ id: "gentle", title: "Clear", blurb: "The tested default: lands clearly from card strength ≈0.55-0.65." },
{ id: "bold", title: "Bold", blurb: "Unmistakable, still subject-safe." }
];
@@ -310,7 +319,8 @@ var RESERVED = [
"use the background/setting", "copy the camera framing", "mood board only",
"identity", "composition", "lighting", "style gentle", "texture gentle",
"shape only", "text/logo safe", "palette only", "environment", "framing", "mood board",
"borrow the weather", "borrow the clothing style", "cinematic color grade"
"borrow the weather", "borrow the clothing style", "cinematic color grade",
"borrow drawing medium", "borrow photo finish"
];
function round2(x) { return Math.round(x * 100) / 100; }
@@ -359,12 +369,17 @@ function buildRecipe(opts) {
};
// Optional semantic focus: what the encoder should study from the image
// ("the clothing and garment style, not the person"). Whitespace-normalized
// and length-capped to match the node's schema.
var focus = (opts.focus || "").split(/\s+/).join(" ").trim();
// and length-capped to match the node's schema. Intents whose shipped
// recipe carries a focus (style, lighting) supply it as the default; the
// artist's own text replaces it.
var focus = (opts.focus || b.focus || "").split(/\s+/).join(" ").trim();
if (focus) r.focus = focus.slice(0, 300);
var sm = opts.emphStruct === undefined ? 1.0 : opts.emphStruct;
var fm = opts.emphFinish === undefined ? 1.0 : opts.emphFinish;
if (sm !== 1.0 || fm !== 1.0) r.layers = applyEmphasis(b.table, sm, fm);
// Intents whose shipped recipe uses a table that differs from the role's
// default (style-transfer, material-finish, structure-only) always write
// `layers`, or the node would fall back to the role table.
if (sm !== 1.0 || fm !== 1.0 || b.forceLayers) r.layers = applyEmphasis(b.table, sm, fm);
return r;
}