{
 "experiment": "steps-z-image-base",
 "title": "the step ladder \u2014 z-image-base",
 "compares": "the step count",
 "archive": "diffusion-bench-0823_steps_z-image-base",
 "columns": [
  "16 steps",
  "24 steps",
  "32 steps",
  "40 steps"
 ],
 "lede": "the same subjects at 16, 24, 32 and 40 steps \u2014 what the extra denoising buys, with the seconds that pay for it.",
 "note": "",
 "source": "render-tests",
 "tests": [],
 "internal": false,
 "images": [
  {
   "subject": "COASTAL \u00b7 Sorrowmoor Cove \u2014 The First Run",
   "row": "",
   "column": "16 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a scene composition, unsigned, no text, no letters, no signature, no watermark. REGION VIGNETTE: the whole fleet hauled up nose-to-sea on the shingle before dawn, forty boats in a line, one berth mid-row left empty with its chocks still set. salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar",
   "prompt_source": "region.sorrowmoor_cove art image \u201cThe First Run\u201d, subject verbatim; terrain: coastal \u2192 art.place_style[coastal]. Composed as ArtService.attachRegionArt (ArtService.java:2064) \u2192 assembleArtPrompt(region_style, art_prompt_seed=absent, subject, \u201cREGION VIGNETTE\u201d, place_style). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). Assembled by hand from the campaign source, not captured from a running engine. | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/coastal-sorrowmoor-cove-the-first-run-16-steps.webp",
   "tile": "img/coastal-sorrowmoor-cove-the-first-run-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1101,
   "render_seconds": 10.25,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__scene_sorrowmoor_cove__16st__s1101.jpg",
   "id": "coastal-sorrowmoor-cove-the-first-run-16-steps",
   "archive_id": "z-image-base__scene_sorrowmoor_cove__16st__s1101",
   "cell_label": "",
   "at": "2026-08-23T14:35:58+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "coastal-sorrowmoor-cove-the-first-run-16-steps"
  },
  {
   "subject": "COASTAL \u00b7 Sorrowmoor Cove \u2014 The First Run",
   "row": "",
   "column": "24 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a scene composition, unsigned, no text, no letters, no signature, no watermark. REGION VIGNETTE: the whole fleet hauled up nose-to-sea on the shingle before dawn, forty boats in a line, one berth mid-row left empty with its chocks still set. salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar",
   "prompt_source": "region.sorrowmoor_cove art image \u201cThe First Run\u201d, subject verbatim; terrain: coastal \u2192 art.place_style[coastal]. Composed as ArtService.attachRegionArt (ArtService.java:2064) \u2192 assembleArtPrompt(region_style, art_prompt_seed=absent, subject, \u201cREGION VIGNETTE\u201d, place_style). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). Assembled by hand from the campaign source, not captured from a running engine. | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/coastal-sorrowmoor-cove-the-first-run-24-steps.webp",
   "tile": "img/coastal-sorrowmoor-cove-the-first-run-24-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 24,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1101,
   "render_seconds": 5.8,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__scene_sorrowmoor_cove__24st__s1101.jpg",
   "id": "coastal-sorrowmoor-cove-the-first-run-24-steps",
   "archive_id": "z-image-base__scene_sorrowmoor_cove__24st__s1101",
   "cell_label": "",
   "at": "2026-08-23T14:36:12+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "coastal-sorrowmoor-cove-the-first-run-24-steps"
  },
  {
   "subject": "COASTAL \u00b7 Sorrowmoor Cove \u2014 The First Run",
   "row": "",
   "column": "32 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a scene composition, unsigned, no text, no letters, no signature, no watermark. REGION VIGNETTE: the whole fleet hauled up nose-to-sea on the shingle before dawn, forty boats in a line, one berth mid-row left empty with its chocks still set. salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar",
   "prompt_source": "region.sorrowmoor_cove art image \u201cThe First Run\u201d, subject verbatim; terrain: coastal \u2192 art.place_style[coastal]. Composed as ArtService.attachRegionArt (ArtService.java:2064) \u2192 assembleArtPrompt(region_style, art_prompt_seed=absent, subject, \u201cREGION VIGNETTE\u201d, place_style). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). Assembled by hand from the campaign source, not captured from a running engine. | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/coastal-sorrowmoor-cove-the-first-run-32-steps.webp",
   "tile": "img/coastal-sorrowmoor-cove-the-first-run-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1101,
   "render_seconds": 7.91,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__scene_sorrowmoor_cove__32st__s1101.jpg",
   "id": "coastal-sorrowmoor-cove-the-first-run-32-steps",
   "archive_id": "z-image-base__scene_sorrowmoor_cove__32st__s1101",
   "cell_label": "",
   "at": "2026-08-23T11:06:49+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "coastal-sorrowmoor-cove-the-first-run-32-steps"
  },
  {
   "subject": "COASTAL \u00b7 Sorrowmoor Cove \u2014 The First Run",
   "row": "",
   "column": "40 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a scene composition, unsigned, no text, no letters, no signature, no watermark. REGION VIGNETTE: the whole fleet hauled up nose-to-sea on the shingle before dawn, forty boats in a line, one berth mid-row left empty with its chocks still set. salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar",
   "prompt_source": "region.sorrowmoor_cove art image \u201cThe First Run\u201d, subject verbatim; terrain: coastal \u2192 art.place_style[coastal]. Composed as ArtService.attachRegionArt (ArtService.java:2064) \u2192 assembleArtPrompt(region_style, art_prompt_seed=absent, subject, \u201cREGION VIGNETTE\u201d, place_style). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). Assembled by hand from the campaign source, not captured from a running engine. | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/coastal-sorrowmoor-cove-the-first-run-40-steps.webp",
   "tile": "img/coastal-sorrowmoor-cove-the-first-run-40-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 40,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1101,
   "render_seconds": 9.61,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__scene_sorrowmoor_cove__40st__s1101.jpg",
   "id": "coastal-sorrowmoor-cove-the-first-run-40-steps",
   "archive_id": "z-image-base__scene_sorrowmoor_cove__40st__s1101",
   "cell_label": "",
   "at": "2026-08-23T14:36:34+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "coastal-sorrowmoor-cove-the-first-run-40-steps"
  },
  {
   "subject": "INLAND \u00b7 The Fold \u2014 The Failing Dyke",
   "row": "",
   "column": "16 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a scene composition, unsigned, no text, no letters, no signature, no watermark. REGION VIGNETTE: a long turf dyke-bank under a grey sky, one dark seep weeping down its seaward face, a single worn path along the crest. hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts",
   "prompt_source": "region.the_fold art image \u201cThe Failing Dyke\u201d, subject verbatim; terrain: inland \u2192 art.place_style[inland]. Composed as ArtService.attachRegionArt (ArtService.java:2064) \u2192 assembleArtPrompt(region_style, art_prompt_seed=absent, subject, \u201cREGION VIGNETTE\u201d, place_style). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). Assembled by hand from the campaign source, not captured from a running engine. | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/inland-the-fold-the-failing-dyke-16-steps.webp",
   "tile": "img/inland-the-fold-the-failing-dyke-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1105,
   "render_seconds": 4.08,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__scene_the_fold__16st__s1105.jpg",
   "id": "inland-the-fold-the-failing-dyke-16-steps",
   "archive_id": "z-image-base__scene_the_fold__16st__s1105",
   "cell_label": "",
   "at": "2026-08-23T14:36:58+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "inland-the-fold-the-failing-dyke-16-steps"
  },
  {
   "subject": "INLAND \u00b7 The Fold \u2014 The Failing Dyke",
   "row": "",
   "column": "24 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a scene composition, unsigned, no text, no letters, no signature, no watermark. REGION VIGNETTE: a long turf dyke-bank under a grey sky, one dark seep weeping down its seaward face, a single worn path along the crest. hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts",
   "prompt_source": "region.the_fold art image \u201cThe Failing Dyke\u201d, subject verbatim; terrain: inland \u2192 art.place_style[inland]. Composed as ArtService.attachRegionArt (ArtService.java:2064) \u2192 assembleArtPrompt(region_style, art_prompt_seed=absent, subject, \u201cREGION VIGNETTE\u201d, place_style). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). Assembled by hand from the campaign source, not captured from a running engine. | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/inland-the-fold-the-failing-dyke-24-steps.webp",
   "tile": "img/inland-the-fold-the-failing-dyke-24-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 24,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1105,
   "render_seconds": 5.91,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__scene_the_fold__24st__s1105.jpg",
   "id": "inland-the-fold-the-failing-dyke-24-steps",
   "archive_id": "z-image-base__scene_the_fold__24st__s1105",
   "cell_label": "",
   "at": "2026-08-23T14:37:12+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "inland-the-fold-the-failing-dyke-24-steps"
  },
  {
   "subject": "INLAND \u00b7 The Fold \u2014 The Failing Dyke",
   "row": "",
   "column": "32 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a scene composition, unsigned, no text, no letters, no signature, no watermark. REGION VIGNETTE: a long turf dyke-bank under a grey sky, one dark seep weeping down its seaward face, a single worn path along the crest. hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts",
   "prompt_source": "region.the_fold art image \u201cThe Failing Dyke\u201d, subject verbatim; terrain: inland \u2192 art.place_style[inland]. Composed as ArtService.attachRegionArt (ArtService.java:2064) \u2192 assembleArtPrompt(region_style, art_prompt_seed=absent, subject, \u201cREGION VIGNETTE\u201d, place_style). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). Assembled by hand from the campaign source, not captured from a running engine. | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/inland-the-fold-the-failing-dyke-32-steps.webp",
   "tile": "img/inland-the-fold-the-failing-dyke-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1105,
   "render_seconds": 7.94,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__scene_the_fold__32st__s1105.jpg",
   "id": "inland-the-fold-the-failing-dyke-32-steps",
   "archive_id": "z-image-base__scene_the_fold__32st__s1105",
   "cell_label": "",
   "at": "2026-08-23T11:08:32+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "inland-the-fold-the-failing-dyke-32-steps"
  },
  {
   "subject": "INLAND \u00b7 The Fold \u2014 The Failing Dyke",
   "row": "",
   "column": "40 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, a scene composition, unsigned, no text, no letters, no signature, no watermark. REGION VIGNETTE: a long turf dyke-bank under a grey sky, one dark seep weeping down its seaward face, a single worn path along the crest. hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts",
   "prompt_source": "region.the_fold art image \u201cThe Failing Dyke\u201d, subject verbatim; terrain: inland \u2192 art.place_style[inland]. Composed as ArtService.attachRegionArt (ArtService.java:2064) \u2192 assembleArtPrompt(region_style, art_prompt_seed=absent, subject, \u201cREGION VIGNETTE\u201d, place_style). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). Assembled by hand from the campaign source, not captured from a running engine. | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/inland-the-fold-the-failing-dyke-40-steps.webp",
   "tile": "img/inland-the-fold-the-failing-dyke-40-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 40,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1105,
   "render_seconds": 9.74,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__scene_the_fold__40st__s1105.jpg",
   "id": "inland-the-fold-the-failing-dyke-40-steps",
   "archive_id": "z-image-base__scene_the_fold__40st__s1105",
   "cell_label": "",
   "at": "2026-08-23T14:37:34+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "inland-the-fold-the-failing-dyke-40-steps"
  },
  {
   "subject": "FOE \u00b7 the Drowned-Hand",
   "row": "",
   "column": "16 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a swollen grey waterlogged hand and forearm reaching up through black water in a flooded sea-cave, skin split at the knuckles, a frayed oilskin cuff at the wrist",
   "prompt_source": "foe.drowned_hand art.prompt_seed from foes.yml, verbatim. Composed as ArtService.portraitAsk's foe authored-seed leg (ArtService.java:2256) \u2192 assembleArtPrompt(style, trailMask(subject, maskClause), null) with NO mask clause \u2014 an unmasked foe, which is byte-identical to assembleArtPrompt(style, subject, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-the-drowned-hand-16-steps.webp",
   "tile": "img/foe-the-drowned-hand-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 4.11,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__foe_drowned_hand__16st__s1301.jpg",
   "id": "foe-the-drowned-hand-16-steps",
   "archive_id": "z-image-base__foe_drowned_hand__16st__s1301",
   "cell_label": "",
   "at": "2026-08-23T14:37:58+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "foe-the-drowned-hand-16-steps"
  },
  {
   "subject": "FOE \u00b7 the Drowned-Hand",
   "row": "",
   "column": "24 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a swollen grey waterlogged hand and forearm reaching up through black water in a flooded sea-cave, skin split at the knuckles, a frayed oilskin cuff at the wrist",
   "prompt_source": "foe.drowned_hand art.prompt_seed from foes.yml, verbatim. Composed as ArtService.portraitAsk's foe authored-seed leg (ArtService.java:2256) \u2192 assembleArtPrompt(style, trailMask(subject, maskClause), null) with NO mask clause \u2014 an unmasked foe, which is byte-identical to assembleArtPrompt(style, subject, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-the-drowned-hand-24-steps.webp",
   "tile": "img/foe-the-drowned-hand-24-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 24,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 5.94,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__foe_drowned_hand__24st__s1301.jpg",
   "id": "foe-the-drowned-hand-24-steps",
   "archive_id": "z-image-base__foe_drowned_hand__24st__s1301",
   "cell_label": "",
   "at": "2026-08-23T14:38:13+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "foe-the-drowned-hand-24-steps"
  },
  {
   "subject": "FOE \u00b7 the Drowned-Hand",
   "row": "",
   "column": "32 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a swollen grey waterlogged hand and forearm reaching up through black water in a flooded sea-cave, skin split at the knuckles, a frayed oilskin cuff at the wrist",
   "prompt_source": "foe.drowned_hand art.prompt_seed from foes.yml, verbatim. Composed as ArtService.portraitAsk's foe authored-seed leg (ArtService.java:2256) \u2192 assembleArtPrompt(style, trailMask(subject, maskClause), null) with NO mask clause \u2014 an unmasked foe, which is byte-identical to assembleArtPrompt(style, subject, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-the-drowned-hand-32-steps.webp",
   "tile": "img/foe-the-drowned-hand-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 7.88,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__foe_drowned_hand__32st__s1301.jpg",
   "id": "foe-the-drowned-hand-32-steps",
   "archive_id": "z-image-base__foe_drowned_hand__32st__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:53:13+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "foe-the-drowned-hand-32-steps"
  },
  {
   "subject": "FOE \u00b7 the Drowned-Hand",
   "row": "",
   "column": "40 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. a swollen grey waterlogged hand and forearm reaching up through black water in a flooded sea-cave, skin split at the knuckles, a frayed oilskin cuff at the wrist",
   "prompt_source": "foe.drowned_hand art.prompt_seed from foes.yml, verbatim. Composed as ArtService.portraitAsk's foe authored-seed leg (ArtService.java:2256) \u2192 assembleArtPrompt(style, trailMask(subject, maskClause), null) with NO mask clause \u2014 an unmasked foe, which is byte-identical to assembleArtPrompt(style, subject, null). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-the-drowned-hand-40-steps.webp",
   "tile": "img/foe-the-drowned-hand-40-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 40,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 9.77,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__foe_drowned_hand__40st__s1301.jpg",
   "id": "foe-the-drowned-hand-40-steps",
   "archive_id": "z-image-base__foe_drowned_hand__40st__s1301",
   "cell_label": "",
   "at": "2026-08-23T14:38:35+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "foe-the-drowned-hand-40-steps"
  },
  {
   "subject": "AVATAR \u00b7 the newcomer (axis roll A)",
   "row": "",
   "column": "16 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. close-up head-and-shoulders portrait of a wary newcomer to the cove, oilskin collar turned up against the fog, curious eyes. appearance: young, black hair, stocky, empty-handed",
   "prompt_source": "art.avatar_seed verbatim + one FROZEN roll of the authored art.avatar_axes (option 0 of each axis), so the avatar row is as fixed as every other. Composed as the avatar/pet door (ArtService.java:2315) \u2192 assembleArtPrompt(style, frame, appearance, \u201cappearance\u201d). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/avatar-the-newcomer-axis-roll-a-16-steps.webp",
   "tile": "img/avatar-the-newcomer-axis-roll-a-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1205,
   "render_seconds": 4.09,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__avatar_a__16st__s1205.jpg",
   "id": "avatar-the-newcomer-axis-roll-a-16-steps",
   "archive_id": "z-image-base__avatar_a__16st__s1205",
   "cell_label": "",
   "at": "2026-08-23T14:38:59+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "avatar-the-newcomer-axis-roll-a-16-steps"
  },
  {
   "subject": "AVATAR \u00b7 the newcomer (axis roll A)",
   "row": "",
   "column": "24 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. close-up head-and-shoulders portrait of a wary newcomer to the cove, oilskin collar turned up against the fog, curious eyes. appearance: young, black hair, stocky, empty-handed",
   "prompt_source": "art.avatar_seed verbatim + one FROZEN roll of the authored art.avatar_axes (option 0 of each axis), so the avatar row is as fixed as every other. Composed as the avatar/pet door (ArtService.java:2315) \u2192 assembleArtPrompt(style, frame, appearance, \u201cappearance\u201d). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/avatar-the-newcomer-axis-roll-a-24-steps.webp",
   "tile": "img/avatar-the-newcomer-axis-roll-a-24-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 24,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1205,
   "render_seconds": 5.91,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__avatar_a__24st__s1205.jpg",
   "id": "avatar-the-newcomer-axis-roll-a-24-steps",
   "archive_id": "z-image-base__avatar_a__24st__s1205",
   "cell_label": "",
   "at": "2026-08-23T14:39:13+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "avatar-the-newcomer-axis-roll-a-24-steps"
  },
  {
   "subject": "AVATAR \u00b7 the newcomer (axis roll A)",
   "row": "",
   "column": "32 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. close-up head-and-shoulders portrait of a wary newcomer to the cove, oilskin collar turned up against the fog, curious eyes. appearance: young, black hair, stocky, empty-handed",
   "prompt_source": "art.avatar_seed verbatim + one FROZEN roll of the authored art.avatar_axes (option 0 of each axis), so the avatar row is as fixed as every other. Composed as the avatar/pet door (ArtService.java:2315) \u2192 assembleArtPrompt(style, frame, appearance, \u201cappearance\u201d). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/avatar-the-newcomer-axis-roll-a-32-steps.webp",
   "tile": "img/avatar-the-newcomer-axis-roll-a-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1205,
   "render_seconds": 7.87,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__avatar_a__32st__s1205.jpg",
   "id": "avatar-the-newcomer-axis-roll-a-32-steps",
   "archive_id": "z-image-base__avatar_a__32st__s1205",
   "cell_label": "",
   "at": "2026-08-23T10:52:25+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "avatar-the-newcomer-axis-roll-a-32-steps"
  },
  {
   "subject": "AVATAR \u00b7 the newcomer (axis roll A)",
   "row": "",
   "column": "40 steps",
   "prompt": "painted storybook realism, soft brushwork, warm amber glow, gentle folk-tale wistfulness, unsigned, no text, no letters, no signature, no watermark. close-up head-and-shoulders portrait of a wary newcomer to the cove, oilskin collar turned up against the fog, curious eyes. appearance: young, black hair, stocky, empty-handed",
   "prompt_source": "art.avatar_seed verbatim + one FROZEN roll of the authored art.avatar_axes (option 0 of each axis), so the avatar row is as fixed as every other. Composed as the avatar/pet door (ArtService.java:2315) \u2192 assembleArtPrompt(style, frame, appearance, \u201cappearance\u201d). Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml at master tip (v0.875.1); style clauses from the `art` block (R2a / COPY-LIVING-COVE \u00a7A, style + region_style + location_style + item_style + place_style). | REUSED by the phase-2 family builder \u2014 NOT re-rendered: this is the same render diffusion-bench-0823_steps_z-image-base shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/avatar-the-newcomer-axis-roll-a-40-steps.webp",
   "tile": "img/avatar-the-newcomer-axis-roll-a-40-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 40,
   "cfg": 4.0,
   "width": 768,
   "height": 768,
   "seed": 1205,
   "render_seconds": 9.73,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "z-image-base__avatar_a__40st__s1205.jpg",
   "id": "avatar-the-newcomer-axis-roll-a-40-steps",
   "archive_id": "z-image-base__avatar_a__40st__s1205",
   "cell_label": "",
   "at": "2026-08-23T14:39:35+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-zimage-base-bf16",
   "law": "cleared",
   "law_detail": "z-image base (undistilled) \u2014 Apache-2.0",
   "sid": "avatar-the-newcomer-axis-roll-a-40-steps"
  }
 ]
}
