{
 "experiment": "steps-limner-z-image-turbo",
 "title": "the limner's own ladder \u2014 z-image-turbo",
 "compares": "the step count",
 "archive": "limner768_z-image-turbo",
 "columns": [
  "4 steps",
  "8 steps",
  "12 steps",
  "16 steps",
  "20 steps",
  "32 steps"
 ],
 "lede": "six of the live game's own sketch prompts at 768\u00b2, painted at 4 \u00b7 8 \u00b7 12 \u00b7 16 \u00b7 20 \u00b7 32 steps. res_multistep / simple, cfg 1.0 (8 steps is this painter's native count); the painter's own vendor template at its defaults, with the step count the only thing overridden, and each subject holds one fixed seed, identical in every column of its row. these are not style-stripped bench subjects \u2014 every string here is what the limner actually submits in play: the house style clause, then the subject, then the beat's extras, then the place clause, assembled from the campaign source and baked whole, cast tail and all, including the truncation four of the six run into at the 400-character prompt cap exactly as they do in a real turn. the fixed-params line under the table states the same facts back out of the record itself.",
 "note": "",
 "source": "render-tests",
 "tests": [],
 "internal": false,
 "images": [
  {
   "subject": "the Drowned-Hand \u2014 mid-fight, one great wound",
   "row": "",
   "column": "4 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Drowned-Hand, a waterlogged revenant swollen and grey its face bloated smooth seawater pouring from its slack mouth pale hands reaching from rotted oilskin sleeves, one great wound torn in it, leaking dark, Sorrowmoor Cove, turning",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 60].cue + region.sorrowmoor_cove label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-drowned-hand-mid-fight-one-great-wound-4-steps.webp",
   "tile": "img/the-drowned-hand-mid-fight-one-great-wound-4-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424242,
   "render_seconds": 0.65,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_drowned_hand__s04.png",
   "id": "the-drowned-hand-mid-fight-one-great-wound-4-steps",
   "archive_id": "foe_drowned_hand__s04",
   "cell_label": "",
   "at": "2026-08-24T16:15:34+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-drowned-hand-mid-fight-one-great-wound-4-steps"
  },
  {
   "subject": "the Drowned-Hand \u2014 mid-fight, one great wound",
   "row": "",
   "column": "8 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Drowned-Hand, a waterlogged revenant swollen and grey its face bloated smooth seawater pouring from its slack mouth pale hands reaching from rotted oilskin sleeves, one great wound torn in it, leaking dark, Sorrowmoor Cove, turning",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 60].cue + region.sorrowmoor_cove label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-drowned-hand-mid-fight-one-great-wound-8-steps.webp",
   "tile": "img/the-drowned-hand-mid-fight-one-great-wound-8-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424242,
   "render_seconds": 1.1,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_drowned_hand__s08.png",
   "id": "the-drowned-hand-mid-fight-one-great-wound-8-steps",
   "archive_id": "foe_drowned_hand__s08",
   "cell_label": "",
   "at": "2026-08-24T16:15:35+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-drowned-hand-mid-fight-one-great-wound-8-steps"
  },
  {
   "subject": "the Drowned-Hand \u2014 mid-fight, one great wound",
   "row": "",
   "column": "12 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Drowned-Hand, a waterlogged revenant swollen and grey its face bloated smooth seawater pouring from its slack mouth pale hands reaching from rotted oilskin sleeves, one great wound torn in it, leaking dark, Sorrowmoor Cove, turning",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 60].cue + region.sorrowmoor_cove label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-drowned-hand-mid-fight-one-great-wound-12-steps.webp",
   "tile": "img/the-drowned-hand-mid-fight-one-great-wound-12-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 12,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424242,
   "render_seconds": 1.55,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_drowned_hand__s12.png",
   "id": "the-drowned-hand-mid-fight-one-great-wound-12-steps",
   "archive_id": "foe_drowned_hand__s12",
   "cell_label": "",
   "at": "2026-08-24T16:15:37+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-drowned-hand-mid-fight-one-great-wound-12-steps"
  },
  {
   "subject": "the Drowned-Hand \u2014 mid-fight, one great wound",
   "row": "",
   "column": "16 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Drowned-Hand, a waterlogged revenant swollen and grey its face bloated smooth seawater pouring from its slack mouth pale hands reaching from rotted oilskin sleeves, one great wound torn in it, leaking dark, Sorrowmoor Cove, turning",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 60].cue + region.sorrowmoor_cove label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-drowned-hand-mid-fight-one-great-wound-16-steps.webp",
   "tile": "img/the-drowned-hand-mid-fight-one-great-wound-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424242,
   "render_seconds": 2.0,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_drowned_hand__s16.png",
   "id": "the-drowned-hand-mid-fight-one-great-wound-16-steps",
   "archive_id": "foe_drowned_hand__s16",
   "cell_label": "",
   "at": "2026-08-24T16:15:39+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-drowned-hand-mid-fight-one-great-wound-16-steps"
  },
  {
   "subject": "the Drowned-Hand \u2014 mid-fight, one great wound",
   "row": "",
   "column": "20 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Drowned-Hand, a waterlogged revenant swollen and grey its face bloated smooth seawater pouring from its slack mouth pale hands reaching from rotted oilskin sleeves, one great wound torn in it, leaking dark, Sorrowmoor Cove, turning",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 60].cue + region.sorrowmoor_cove label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-drowned-hand-mid-fight-one-great-wound-20-steps.webp",
   "tile": "img/the-drowned-hand-mid-fight-one-great-wound-20-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 20,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424242,
   "render_seconds": 2.45,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_drowned_hand__s20.png",
   "id": "the-drowned-hand-mid-fight-one-great-wound-20-steps",
   "archive_id": "foe_drowned_hand__s20",
   "cell_label": "",
   "at": "2026-08-24T16:15:42+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-drowned-hand-mid-fight-one-great-wound-20-steps"
  },
  {
   "subject": "the Drowned-Hand \u2014 mid-fight, one great wound",
   "row": "",
   "column": "32 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Drowned-Hand, a waterlogged revenant swollen and grey its face bloated smooth seawater pouring from its slack mouth pale hands reaching from rotted oilskin sleeves, one great wound torn in it, leaking dark, Sorrowmoor Cove, turning",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 60].cue + region.sorrowmoor_cove label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-drowned-hand-mid-fight-one-great-wound-32-steps.webp",
   "tile": "img/the-drowned-hand-mid-fight-one-great-wound-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424242,
   "render_seconds": 3.81,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_drowned_hand__s32.png",
   "id": "the-drowned-hand-mid-fight-one-great-wound-32-steps",
   "archive_id": "foe_drowned_hand__s32",
   "cell_label": "",
   "at": "2026-08-24T16:15:46+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-drowned-hand-mid-fight-one-great-wound-32-steps"
  },
  {
   "subject": "the Salt-Father \u2014 late round, rent through",
   "row": "",
   "column": "4 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Salt-Father, white crystal grown tall as the basin steps the dry men it gathered half-sunk in its glitter, rent through, pieces hanging, listing hard to one side, Saltmarket, slack",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 40].cue + region.saltmarket label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-salt-father-late-round-rent-through-4-steps.webp",
   "tile": "img/the-salt-father-late-round-rent-through-4-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424243,
   "render_seconds": 0.73,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_salt_father__s04.png",
   "id": "the-salt-father-late-round-rent-through-4-steps",
   "archive_id": "foe_salt_father__s04",
   "cell_label": "",
   "at": "2026-08-24T16:15:46+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-salt-father-late-round-rent-through-4-steps"
  },
  {
   "subject": "the Salt-Father \u2014 late round, rent through",
   "row": "",
   "column": "8 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Salt-Father, white crystal grown tall as the basin steps the dry men it gathered half-sunk in its glitter, rent through, pieces hanging, listing hard to one side, Saltmarket, slack",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 40].cue + region.saltmarket label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-salt-father-late-round-rent-through-8-steps.webp",
   "tile": "img/the-salt-father-late-round-rent-through-8-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424243,
   "render_seconds": 1.1,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_salt_father__s08.png",
   "id": "the-salt-father-late-round-rent-through-8-steps",
   "archive_id": "foe_salt_father__s08",
   "cell_label": "",
   "at": "2026-08-24T16:15:48+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-salt-father-late-round-rent-through-8-steps"
  },
  {
   "subject": "the Salt-Father \u2014 late round, rent through",
   "row": "",
   "column": "12 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Salt-Father, white crystal grown tall as the basin steps the dry men it gathered half-sunk in its glitter, rent through, pieces hanging, listing hard to one side, Saltmarket, slack",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 40].cue + region.saltmarket label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-salt-father-late-round-rent-through-12-steps.webp",
   "tile": "img/the-salt-father-late-round-rent-through-12-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 12,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424243,
   "render_seconds": 1.55,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_salt_father__s12.png",
   "id": "the-salt-father-late-round-rent-through-12-steps",
   "archive_id": "foe_salt_father__s12",
   "cell_label": "",
   "at": "2026-08-24T16:15:49+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-salt-father-late-round-rent-through-12-steps"
  },
  {
   "subject": "the Salt-Father \u2014 late round, rent through",
   "row": "",
   "column": "16 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Salt-Father, white crystal grown tall as the basin steps the dry men it gathered half-sunk in its glitter, rent through, pieces hanging, listing hard to one side, Saltmarket, slack",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 40].cue + region.saltmarket label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-salt-father-late-round-rent-through-16-steps.webp",
   "tile": "img/the-salt-father-late-round-rent-through-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424243,
   "render_seconds": 2.0,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_salt_father__s16.png",
   "id": "the-salt-father-late-round-rent-through-16-steps",
   "archive_id": "foe_salt_father__s16",
   "cell_label": "",
   "at": "2026-08-24T16:15:51+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-salt-father-late-round-rent-through-16-steps"
  },
  {
   "subject": "the Salt-Father \u2014 late round, rent through",
   "row": "",
   "column": "20 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Salt-Father, white crystal grown tall as the basin steps the dry men it gathered half-sunk in its glitter, rent through, pieces hanging, listing hard to one side, Saltmarket, slack",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 40].cue + region.saltmarket label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-salt-father-late-round-rent-through-20-steps.webp",
   "tile": "img/the-salt-father-late-round-rent-through-20-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 20,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424243,
   "render_seconds": 2.46,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_salt_father__s20.png",
   "id": "the-salt-father-late-round-rent-through-20-steps",
   "archive_id": "foe_salt_father__s20",
   "cell_label": "",
   "at": "2026-08-24T16:15:54+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-salt-father-late-round-rent-through-20-steps"
  },
  {
   "subject": "the Salt-Father \u2014 late round, rent through",
   "row": "",
   "column": "32 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, the Salt-Father, white crystal grown tall as the basin steps the dry men it gathered half-sunk in its glitter, rent through, pieces hanging, listing hard to one side, Saltmarket, slack",
   "prompt_source": "COMBAT branch of assemblePrompt (:703-717): leashEncStyle(art.sketch_style) + \"the <species>, <foes.yml silhouette_hint>\" + art.combat_bands[floor 40].cue + region.saltmarket label + phase. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-salt-father-late-round-rent-through-32-steps.webp",
   "tile": "img/the-salt-father-late-round-rent-through-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424243,
   "render_seconds": 3.83,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/foe_salt_father__s32.png",
   "id": "the-salt-father-late-round-rent-through-32-steps",
   "archive_id": "foe_salt_father__s32",
   "cell_label": "",
   "at": "2026-08-24T16:15:58+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-salt-father-late-round-rent-through-32-steps"
  },
  {
   "subject": "Sorrowmoor Cove \u2014 the region floor, open air",
   "row": "",
   "column": "4 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune, Cobb the Cooper, Harbormaster Haldane, Mother Quell and 1 other",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757), the region_enter beat (GameWebSocketHandler:1443): art.sketch_style + region label + terrain line + RESERVED art.place_style[coastal] + phase + cycle states + cast. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/sorrowmoor-cove-the-region-floor-open-air-4-steps.webp",
   "tile": "img/sorrowmoor-cove-the-region-floor-open-air-4-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424244,
   "render_seconds": 0.73,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_sorrowmoor_cove__s04.png",
   "id": "sorrowmoor-cove-the-region-floor-open-air-4-steps",
   "archive_id": "scene_sorrowmoor_cove__s04",
   "cell_label": "",
   "at": "2026-08-24T16:15:59+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "sorrowmoor-cove-the-region-floor-open-air-4-steps"
  },
  {
   "subject": "Sorrowmoor Cove \u2014 the region floor, open air",
   "row": "",
   "column": "8 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune, Cobb the Cooper, Harbormaster Haldane, Mother Quell and 1 other",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757), the region_enter beat (GameWebSocketHandler:1443): art.sketch_style + region label + terrain line + RESERVED art.place_style[coastal] + phase + cycle states + cast. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/sorrowmoor-cove-the-region-floor-open-air-8-steps.webp",
   "tile": "img/sorrowmoor-cove-the-region-floor-open-air-8-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424244,
   "render_seconds": 1.1,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_sorrowmoor_cove__s08.png",
   "id": "sorrowmoor-cove-the-region-floor-open-air-8-steps",
   "archive_id": "scene_sorrowmoor_cove__s08",
   "cell_label": "",
   "at": "2026-08-24T16:16:00+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "sorrowmoor-cove-the-region-floor-open-air-8-steps"
  },
  {
   "subject": "Sorrowmoor Cove \u2014 the region floor, open air",
   "row": "",
   "column": "12 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune, Cobb the Cooper, Harbormaster Haldane, Mother Quell and 1 other",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757), the region_enter beat (GameWebSocketHandler:1443): art.sketch_style + region label + terrain line + RESERVED art.place_style[coastal] + phase + cycle states + cast. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/sorrowmoor-cove-the-region-floor-open-air-12-steps.webp",
   "tile": "img/sorrowmoor-cove-the-region-floor-open-air-12-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 12,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424244,
   "render_seconds": 1.56,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_sorrowmoor_cove__s12.png",
   "id": "sorrowmoor-cove-the-region-floor-open-air-12-steps",
   "archive_id": "scene_sorrowmoor_cove__s12",
   "cell_label": "",
   "at": "2026-08-24T16:16:02+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "sorrowmoor-cove-the-region-floor-open-air-12-steps"
  },
  {
   "subject": "Sorrowmoor Cove \u2014 the region floor, open air",
   "row": "",
   "column": "16 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune, Cobb the Cooper, Harbormaster Haldane, Mother Quell and 1 other",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757), the region_enter beat (GameWebSocketHandler:1443): art.sketch_style + region label + terrain line + RESERVED art.place_style[coastal] + phase + cycle states + cast. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/sorrowmoor-cove-the-region-floor-open-air-16-steps.webp",
   "tile": "img/sorrowmoor-cove-the-region-floor-open-air-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424244,
   "render_seconds": 2.02,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_sorrowmoor_cove__s16.png",
   "id": "sorrowmoor-cove-the-region-floor-open-air-16-steps",
   "archive_id": "scene_sorrowmoor_cove__s16",
   "cell_label": "",
   "at": "2026-08-24T16:16:04+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "sorrowmoor-cove-the-region-floor-open-air-16-steps"
  },
  {
   "subject": "Sorrowmoor Cove \u2014 the region floor, open air",
   "row": "",
   "column": "20 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune, Cobb the Cooper, Harbormaster Haldane, Mother Quell and 1 other",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757), the region_enter beat (GameWebSocketHandler:1443): art.sketch_style + region label + terrain line + RESERVED art.place_style[coastal] + phase + cycle states + cast. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/sorrowmoor-cove-the-region-floor-open-air-20-steps.webp",
   "tile": "img/sorrowmoor-cove-the-region-floor-open-air-20-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 20,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424244,
   "render_seconds": 2.48,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_sorrowmoor_cove__s20.png",
   "id": "sorrowmoor-cove-the-region-floor-open-air-20-steps",
   "archive_id": "scene_sorrowmoor_cove__s20",
   "cell_label": "",
   "at": "2026-08-24T16:16:06+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "sorrowmoor-cove-the-region-floor-open-air-20-steps"
  },
  {
   "subject": "Sorrowmoor Cove \u2014 the region floor, open air",
   "row": "",
   "column": "32 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune, Cobb the Cooper, Harbormaster Haldane, Mother Quell and 1 other",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757), the region_enter beat (GameWebSocketHandler:1443): art.sketch_style + region label + terrain line + RESERVED art.place_style[coastal] + phase + cycle states + cast. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/sorrowmoor-cove-the-region-floor-open-air-32-steps.webp",
   "tile": "img/sorrowmoor-cove-the-region-floor-open-air-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424244,
   "render_seconds": 3.86,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_sorrowmoor_cove__s32.png",
   "id": "sorrowmoor-cove-the-region-floor-open-air-32-steps",
   "archive_id": "scene_sorrowmoor_cove__s32",
   "cell_label": "",
   "at": "2026-08-24T16:16:10+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "sorrowmoor-cove-the-region-floor-open-air-32-steps"
  },
  {
   "subject": "The Cracked Keel \u2014 a seeded interior, no sky",
   "row": "",
   "column": "4 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, a low tavern room under black beams, a cracked ship's bell hung above the bar, benches polished by a century of oilskins, steam rising off drying wool, lamp-amber and close shadow, the grain of old wood, one window's grey, Garron Tarrow, Ivo Bloom",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) ENCLOSED: the interior's authored art.prompt_seed REPLACES the name-biased place+terrain (the Cracked-Keel-renders-a-ship fix, :729-733), RESERVED art.place_style[interior], and the PS2-12 sky gate (SketchDigestService:213-218) empties phase + cycles under a roof. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-cracked-keel-a-seeded-interior-no-sky-4-steps.webp",
   "tile": "img/the-cracked-keel-a-seeded-interior-no-sky-4-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424245,
   "render_seconds": 0.74,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_the_cracked_keel__s04.png",
   "id": "the-cracked-keel-a-seeded-interior-no-sky-4-steps",
   "archive_id": "scene_the_cracked_keel__s04",
   "cell_label": "",
   "at": "2026-08-24T16:16:11+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-cracked-keel-a-seeded-interior-no-sky-4-steps"
  },
  {
   "subject": "The Cracked Keel \u2014 a seeded interior, no sky",
   "row": "",
   "column": "8 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, a low tavern room under black beams, a cracked ship's bell hung above the bar, benches polished by a century of oilskins, steam rising off drying wool, lamp-amber and close shadow, the grain of old wood, one window's grey, Garron Tarrow, Ivo Bloom",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) ENCLOSED: the interior's authored art.prompt_seed REPLACES the name-biased place+terrain (the Cracked-Keel-renders-a-ship fix, :729-733), RESERVED art.place_style[interior], and the PS2-12 sky gate (SketchDigestService:213-218) empties phase + cycles under a roof. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-cracked-keel-a-seeded-interior-no-sky-8-steps.webp",
   "tile": "img/the-cracked-keel-a-seeded-interior-no-sky-8-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424245,
   "render_seconds": 1.11,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_the_cracked_keel__s08.png",
   "id": "the-cracked-keel-a-seeded-interior-no-sky-8-steps",
   "archive_id": "scene_the_cracked_keel__s08",
   "cell_label": "",
   "at": "2026-08-24T16:16:12+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-cracked-keel-a-seeded-interior-no-sky-8-steps"
  },
  {
   "subject": "The Cracked Keel \u2014 a seeded interior, no sky",
   "row": "",
   "column": "12 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, a low tavern room under black beams, a cracked ship's bell hung above the bar, benches polished by a century of oilskins, steam rising off drying wool, lamp-amber and close shadow, the grain of old wood, one window's grey, Garron Tarrow, Ivo Bloom",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) ENCLOSED: the interior's authored art.prompt_seed REPLACES the name-biased place+terrain (the Cracked-Keel-renders-a-ship fix, :729-733), RESERVED art.place_style[interior], and the PS2-12 sky gate (SketchDigestService:213-218) empties phase + cycles under a roof. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-cracked-keel-a-seeded-interior-no-sky-12-steps.webp",
   "tile": "img/the-cracked-keel-a-seeded-interior-no-sky-12-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 12,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424245,
   "render_seconds": 1.57,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_the_cracked_keel__s12.png",
   "id": "the-cracked-keel-a-seeded-interior-no-sky-12-steps",
   "archive_id": "scene_the_cracked_keel__s12",
   "cell_label": "",
   "at": "2026-08-24T16:16:14+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-cracked-keel-a-seeded-interior-no-sky-12-steps"
  },
  {
   "subject": "The Cracked Keel \u2014 a seeded interior, no sky",
   "row": "",
   "column": "16 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, a low tavern room under black beams, a cracked ship's bell hung above the bar, benches polished by a century of oilskins, steam rising off drying wool, lamp-amber and close shadow, the grain of old wood, one window's grey, Garron Tarrow, Ivo Bloom",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) ENCLOSED: the interior's authored art.prompt_seed REPLACES the name-biased place+terrain (the Cracked-Keel-renders-a-ship fix, :729-733), RESERVED art.place_style[interior], and the PS2-12 sky gate (SketchDigestService:213-218) empties phase + cycles under a roof. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-cracked-keel-a-seeded-interior-no-sky-16-steps.webp",
   "tile": "img/the-cracked-keel-a-seeded-interior-no-sky-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424245,
   "render_seconds": 2.03,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_the_cracked_keel__s16.png",
   "id": "the-cracked-keel-a-seeded-interior-no-sky-16-steps",
   "archive_id": "scene_the_cracked_keel__s16",
   "cell_label": "",
   "at": "2026-08-24T16:16:16+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-cracked-keel-a-seeded-interior-no-sky-16-steps"
  },
  {
   "subject": "The Cracked Keel \u2014 a seeded interior, no sky",
   "row": "",
   "column": "20 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, a low tavern room under black beams, a cracked ship's bell hung above the bar, benches polished by a century of oilskins, steam rising off drying wool, lamp-amber and close shadow, the grain of old wood, one window's grey, Garron Tarrow, Ivo Bloom",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) ENCLOSED: the interior's authored art.prompt_seed REPLACES the name-biased place+terrain (the Cracked-Keel-renders-a-ship fix, :729-733), RESERVED art.place_style[interior], and the PS2-12 sky gate (SketchDigestService:213-218) empties phase + cycles under a roof. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-cracked-keel-a-seeded-interior-no-sky-20-steps.webp",
   "tile": "img/the-cracked-keel-a-seeded-interior-no-sky-20-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 20,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424245,
   "render_seconds": 2.5,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_the_cracked_keel__s20.png",
   "id": "the-cracked-keel-a-seeded-interior-no-sky-20-steps",
   "archive_id": "scene_the_cracked_keel__s20",
   "cell_label": "",
   "at": "2026-08-24T16:16:19+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-cracked-keel-a-seeded-interior-no-sky-20-steps"
  },
  {
   "subject": "The Cracked Keel \u2014 a seeded interior, no sky",
   "row": "",
   "column": "32 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, a low tavern room under black beams, a cracked ship's bell hung above the bar, benches polished by a century of oilskins, steam rising off drying wool, lamp-amber and close shadow, the grain of old wood, one window's grey, Garron Tarrow, Ivo Bloom",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) ENCLOSED: the interior's authored art.prompt_seed REPLACES the name-biased place+terrain (the Cracked-Keel-renders-a-ship fix, :729-733), RESERVED art.place_style[interior], and the PS2-12 sky gate (SketchDigestService:213-218) empties phase + cycles under a roof. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/the-cracked-keel-a-seeded-interior-no-sky-32-steps.webp",
   "tile": "img/the-cracked-keel-a-seeded-interior-no-sky-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424245,
   "render_seconds": 3.88,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/scene_the_cracked_keel__s32.png",
   "id": "the-cracked-keel-a-seeded-interior-no-sky-32-steps",
   "archive_id": "scene_the_cracked_keel__s32",
   "cell_label": "",
   "at": "2026-08-24T16:16:23+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "the-cracked-keel-a-seeded-interior-no-sky-32-steps"
  },
  {
   "subject": "Halar Kestrel \u2014 the talk beat, cove floor",
   "row": "",
   "column": "4 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Halar Kestrel, an outsider salvage-diver dripping oilskin dive mask pushed up easy grin with rattled eyes, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129 queueSketch(\"talk\", \u2026, name, figure)). The limner has NO avatar tier; the talk/examine focus is its person subject, so it fills the standard spread's third pair. focus label+look take defangAppearanceText, which folds the figure line's commas to spaces. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/halar-kestrel-the-talk-beat-cove-floor-4-steps.webp",
   "tile": "img/halar-kestrel-the-talk-beat-cove-floor-4-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424246,
   "render_seconds": 0.74,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_kestrel__s04.png",
   "id": "halar-kestrel-the-talk-beat-cove-floor-4-steps",
   "archive_id": "figure_kestrel__s04",
   "cell_label": "",
   "at": "2026-08-24T16:16:24+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "halar-kestrel-the-talk-beat-cove-floor-4-steps"
  },
  {
   "subject": "Halar Kestrel \u2014 the talk beat, cove floor",
   "row": "",
   "column": "8 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Halar Kestrel, an outsider salvage-diver dripping oilskin dive mask pushed up easy grin with rattled eyes, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129 queueSketch(\"talk\", \u2026, name, figure)). The limner has NO avatar tier; the talk/examine focus is its person subject, so it fills the standard spread's third pair. focus label+look take defangAppearanceText, which folds the figure line's commas to spaces. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/halar-kestrel-the-talk-beat-cove-floor-8-steps.webp",
   "tile": "img/halar-kestrel-the-talk-beat-cove-floor-8-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424246,
   "render_seconds": 1.11,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_kestrel__s08.png",
   "id": "halar-kestrel-the-talk-beat-cove-floor-8-steps",
   "archive_id": "figure_kestrel__s08",
   "cell_label": "",
   "at": "2026-08-24T16:16:25+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "halar-kestrel-the-talk-beat-cove-floor-8-steps"
  },
  {
   "subject": "Halar Kestrel \u2014 the talk beat, cove floor",
   "row": "",
   "column": "12 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Halar Kestrel, an outsider salvage-diver dripping oilskin dive mask pushed up easy grin with rattled eyes, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129 queueSketch(\"talk\", \u2026, name, figure)). The limner has NO avatar tier; the talk/examine focus is its person subject, so it fills the standard spread's third pair. focus label+look take defangAppearanceText, which folds the figure line's commas to spaces. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/halar-kestrel-the-talk-beat-cove-floor-12-steps.webp",
   "tile": "img/halar-kestrel-the-talk-beat-cove-floor-12-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 12,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424246,
   "render_seconds": 1.58,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_kestrel__s12.png",
   "id": "halar-kestrel-the-talk-beat-cove-floor-12-steps",
   "archive_id": "figure_kestrel__s12",
   "cell_label": "",
   "at": "2026-08-24T16:16:27+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "halar-kestrel-the-talk-beat-cove-floor-12-steps"
  },
  {
   "subject": "Halar Kestrel \u2014 the talk beat, cove floor",
   "row": "",
   "column": "16 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Halar Kestrel, an outsider salvage-diver dripping oilskin dive mask pushed up easy grin with rattled eyes, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129 queueSketch(\"talk\", \u2026, name, figure)). The limner has NO avatar tier; the talk/examine focus is its person subject, so it fills the standard spread's third pair. focus label+look take defangAppearanceText, which folds the figure line's commas to spaces. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/halar-kestrel-the-talk-beat-cove-floor-16-steps.webp",
   "tile": "img/halar-kestrel-the-talk-beat-cove-floor-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424246,
   "render_seconds": 2.04,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_kestrel__s16.png",
   "id": "halar-kestrel-the-talk-beat-cove-floor-16-steps",
   "archive_id": "figure_kestrel__s16",
   "cell_label": "",
   "at": "2026-08-24T16:16:29+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "halar-kestrel-the-talk-beat-cove-floor-16-steps"
  },
  {
   "subject": "Halar Kestrel \u2014 the talk beat, cove floor",
   "row": "",
   "column": "20 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Halar Kestrel, an outsider salvage-diver dripping oilskin dive mask pushed up easy grin with rattled eyes, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129 queueSketch(\"talk\", \u2026, name, figure)). The limner has NO avatar tier; the talk/examine focus is its person subject, so it fills the standard spread's third pair. focus label+look take defangAppearanceText, which folds the figure line's commas to spaces. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/halar-kestrel-the-talk-beat-cove-floor-20-steps.webp",
   "tile": "img/halar-kestrel-the-talk-beat-cove-floor-20-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 20,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424246,
   "render_seconds": 2.5,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_kestrel__s20.png",
   "id": "halar-kestrel-the-talk-beat-cove-floor-20-steps",
   "archive_id": "figure_kestrel__s20",
   "cell_label": "",
   "at": "2026-08-24T16:16:31+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "halar-kestrel-the-talk-beat-cove-floor-20-steps"
  },
  {
   "subject": "Halar Kestrel \u2014 the talk beat, cove floor",
   "row": "",
   "column": "32 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Halar Kestrel, an outsider salvage-diver dripping oilskin dive mask pushed up easy grin with rattled eyes, Sorrowmoor Cove, coastal, salt-light on wet stone, sea-fog greys, a gull-grey sky, rope and tar, turning, fog thick, high, waning, Brisa Lune",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129 queueSketch(\"talk\", \u2026, name, figure)). The limner has NO avatar tier; the talk/examine focus is its person subject, so it fills the standard spread's third pair. focus label+look take defangAppearanceText, which folds the figure line's commas to spaces. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/halar-kestrel-the-talk-beat-cove-floor-32-steps.webp",
   "tile": "img/halar-kestrel-the-talk-beat-cove-floor-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424246,
   "render_seconds": 3.9,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_kestrel__s32.png",
   "id": "halar-kestrel-the-talk-beat-cove-floor-32-steps",
   "archive_id": "figure_kestrel__s32",
   "cell_label": "",
   "at": "2026-08-24T16:16:35+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "halar-kestrel-the-talk-beat-cove-floor-32-steps"
  },
  {
   "subject": "Old Halsa Reed \u2014 the talk beat, the Fold (inland)",
   "row": "",
   "column": "4 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Old Halsa Reed, an old sharp-eyed marsh woman willow testing-rod in hand mud-hemmed skirts unafraid face, The Fold, inland, hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts, slack, marsh mist, Elder Mabon Thresh",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129). Inland twin of the Kestrel row: the ONLY structural difference is region.the_fold's terrain and its RESERVED art.place_style[inland] clause. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/old-halsa-reed-the-talk-beat-the-fold-inland-4-steps.webp",
   "tile": "img/old-halsa-reed-the-talk-beat-the-fold-inland-4-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424247,
   "render_seconds": 0.74,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_halsa_reed__s04.png",
   "id": "old-halsa-reed-the-talk-beat-the-fold-inland-4-steps",
   "archive_id": "figure_halsa_reed__s04",
   "cell_label": "",
   "at": "2026-08-24T16:16:36+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "old-halsa-reed-the-talk-beat-the-fold-inland-4-steps"
  },
  {
   "subject": "Old Halsa Reed \u2014 the talk beat, the Fold (inland)",
   "row": "",
   "column": "8 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Old Halsa Reed, an old sharp-eyed marsh woman willow testing-rod in hand mud-hemmed skirts unafraid face, The Fold, inland, hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts, slack, marsh mist, Elder Mabon Thresh",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129). Inland twin of the Kestrel row: the ONLY structural difference is region.the_fold's terrain and its RESERVED art.place_style[inland] clause. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/old-halsa-reed-the-talk-beat-the-fold-inland-8-steps.webp",
   "tile": "img/old-halsa-reed-the-talk-beat-the-fold-inland-8-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424247,
   "render_seconds": 1.13,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_halsa_reed__s08.png",
   "id": "old-halsa-reed-the-talk-beat-the-fold-inland-8-steps",
   "archive_id": "figure_halsa_reed__s08",
   "cell_label": "",
   "at": "2026-08-24T16:16:38+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "old-halsa-reed-the-talk-beat-the-fold-inland-8-steps"
  },
  {
   "subject": "Old Halsa Reed \u2014 the talk beat, the Fold (inland)",
   "row": "",
   "column": "12 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Old Halsa Reed, an old sharp-eyed marsh woman willow testing-rod in hand mud-hemmed skirts unafraid face, The Fold, inland, hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts, slack, marsh mist, Elder Mabon Thresh",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129). Inland twin of the Kestrel row: the ONLY structural difference is region.the_fold's terrain and its RESERVED art.place_style[inland] clause. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/old-halsa-reed-the-talk-beat-the-fold-inland-12-steps.webp",
   "tile": "img/old-halsa-reed-the-talk-beat-the-fold-inland-12-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 12,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424247,
   "render_seconds": 1.59,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_halsa_reed__s12.png",
   "id": "old-halsa-reed-the-talk-beat-the-fold-inland-12-steps",
   "archive_id": "figure_halsa_reed__s12",
   "cell_label": "",
   "at": "2026-08-24T16:16:39+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "old-halsa-reed-the-talk-beat-the-fold-inland-12-steps"
  },
  {
   "subject": "Old Halsa Reed \u2014 the talk beat, the Fold (inland)",
   "row": "",
   "column": "16 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Old Halsa Reed, an old sharp-eyed marsh woman willow testing-rod in hand mud-hemmed skirts unafraid face, The Fold, inland, hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts, slack, marsh mist, Elder Mabon Thresh",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129). Inland twin of the Kestrel row: the ONLY structural difference is region.the_fold's terrain and its RESERVED art.place_style[inland] clause. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/old-halsa-reed-the-talk-beat-the-fold-inland-16-steps.webp",
   "tile": "img/old-halsa-reed-the-talk-beat-the-fold-inland-16-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 16,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424247,
   "render_seconds": 2.05,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_halsa_reed__s16.png",
   "id": "old-halsa-reed-the-talk-beat-the-fold-inland-16-steps",
   "archive_id": "figure_halsa_reed__s16",
   "cell_label": "",
   "at": "2026-08-24T16:16:41+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "old-halsa-reed-the-talk-beat-the-fold-inland-16-steps"
  },
  {
   "subject": "Old Halsa Reed \u2014 the talk beat, the Fold (inland)",
   "row": "",
   "column": "20 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Old Halsa Reed, an old sharp-eyed marsh woman willow testing-rod in hand mud-hemmed skirts unafraid face, The Fold, inland, hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts, slack, marsh mist, Elder Mabon Thresh",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129). Inland twin of the Kestrel row: the ONLY structural difference is region.the_fold's terrain and its RESERVED art.place_style[inland] clause. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/old-halsa-reed-the-talk-beat-the-fold-inland-20-steps.webp",
   "tile": "img/old-halsa-reed-the-talk-beat-the-fold-inland-20-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 20,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424247,
   "render_seconds": 2.52,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_halsa_reed__s20.png",
   "id": "old-halsa-reed-the-talk-beat-the-fold-inland-20-steps",
   "archive_id": "figure_halsa_reed__s20",
   "cell_label": "",
   "at": "2026-08-24T16:16:44+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "old-halsa-reed-the-talk-beat-the-fold-inland-20-steps"
  },
  {
   "subject": "Old Halsa Reed \u2014 the talk beat, the Fold (inland)",
   "row": "",
   "column": "32 steps",
   "prompt": "stylized oil-painted realism, loose quick brushwork, in the style of Dishonored game art, unsigned, no text, no letters, no signature, no watermark, Old Halsa Reed, an old sharp-eyed marsh woman willow testing-rod in hand mud-hemmed skirts unafraid face, The Fold, inland, hearth-smoke and wet earth, willow-green against flint, low cloud, cart-ruts, slack, marsh mist, Elder Mabon Thresh",
   "prompt_source": "WIDE branch of assemblePrompt (:718-757) with a FOCUS \u2014 the talk beat (GameWebSocketHandler:3129). Inland twin of the Kestrel row: the ONLY structural difference is region.the_fold's terrain and its RESERVED art.place_style[inland] clause. beat state a bench has none of (wound band / phase / cycle states / co-located cast) pinned to ONE real value from the campaign's own authored vocabulary. Source: ~/signalborne/backend-spring/src/main/resources/content/sorrowmoor-cove/campaign.yml + foes.yml at master 44855ee4b (v0.875.15); assembly = SketchDigestService.assemblePrompt (SketchDigestService.java:702-757), style chain = styleWords (:839-848) -> art.sketch_style",
   "image": "img/full/old-halsa-reed-the-talk-beat-the-fold-inland-32-steps.webp",
   "tile": "img/old-halsa-reed-the-talk-beat-the-fold-inland-32-steps.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 424247,
   "render_seconds": 3.92,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "limner768_z-image-turbo/png/figure_halsa_reed__s32.png",
   "id": "old-halsa-reed-the-talk-beat-the-fold-inland-32-steps",
   "archive_id": "figure_halsa_reed__s32",
   "cell_label": "",
   "at": "2026-08-24T16:16:48+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/ctrl-z-image-turbo",
   "law": "cleared",
   "law_detail": "z-image turbo (bf16) \u2014 Apache-2.0",
   "sid": "old-halsa-reed-the-talk-beat-the-fold-inland-32-steps"
  }
 ]
}
