{
 "experiment": "creature-drowned-hand",
 "title": "drowned-hand",
 "compares": "the painter",
 "archive": "diffusion-bench-0823_foes-1024, diffusion-bench-0823_foes-512, diffusion-bench-0823_foes-768",
 "columns": [
  "z-image-turbo-bf16",
  "flux2-klein-4b-bf16",
  "z-image-base-bf16",
  "hidream-o1-dev-fp8",
  "chroma1-hd-fp8",
  "krea2-turbo-fp8",
  "mage-flow-turbo-int8",
  "ernie-image-turbo-bf16",
  "kandinsky5-lite-bf16",
  "z-image-turbo-bf16\u00b7bare",
  "flux2-klein-4b-bf16\u00b7bare",
  "z-image-base-bf16\u00b7bare",
  "hidream-o1-dev-fp8\u00b7bare",
  "chroma1-hd-fp8\u00b7bare",
  "krea2-turbo-fp8\u00b7bare",
  "mage-flow-turbo-int8\u00b7bare",
  "ernie-image-turbo-bf16\u00b7bare",
  "kandinsky5-lite-bf16\u00b7bare"
 ],
 "lede": "a creature of the cove under every painter. foes are the hardest subject in the set \u2014 anatomy, menace, and a silhouette that reads at 512 \u2014 and the column that gets the silhouette right is usually the one the game would pick.",
 "note": "",
 "source": "render-tests",
 "tests": [],
 "internal": false,
 "images": [
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "z-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-z-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-z-image-turbo-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 0.63,
   "colour": {
    "mean_hue_deg": 36.7,
    "mean_saturation": 0.33,
    "hue_spread_deg": 20.4,
    "resultant_R": 0.9389,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ctrl-z-image-turbo__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-z-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ctrl-z-image-turbo__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T09:56: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": "foe-drowned-hand-512-seed-1301-z-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "flux2-klein-4b-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-flux2-klein-4b-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-flux2-klein-4b-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "flux-2-klein-4b.safetensors",
   "arm_column": "flux2-klein-4b-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": null,
   "steps": 4,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 0.39,
   "colour": {
    "mean_hue_deg": 28.7,
    "mean_saturation": 0.4378,
    "hue_spread_deg": 44.3,
    "resultant_R": 0.7418,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__flux2-klein-4b__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-flux2-klein-4b-bf16",
   "archive_id": "foe_drowned_hand__flux2-klein-4b__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:32:23+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-klein4b-bf16",
   "law": "cleared",
   "law_detail": "flux.2 [klein] 4B \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-512-seed-1301-flux2-klein-4b-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "z-image-base-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-z-image-base-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-z-image-base-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 4.0,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 3.8,
   "colour": {
    "mean_hue_deg": 41.3,
    "mean_saturation": 0.5146,
    "hue_spread_deg": 7.4,
    "resultant_R": 0.9918,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__z-image-base__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-z-image-base-bf16",
   "archive_id": "foe_drowned_hand__z-image-base__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:49:24+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-drowned-hand-512-seed-1301-z-image-base-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "hidream-o1-dev-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-hidream-o1-dev-fp8.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-hidream-o1-dev-fp8.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "hidream_o1_image_dev_fp8_scaled.safetensors",
   "arm_column": "hidream-o1-dev-fp8",
   "lora": [],
   "sampler": null,
   "scheduler": "normal",
   "steps": 32,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 2.48,
   "colour": {
    "mean_hue_deg": 33.5,
    "mean_saturation": 0.2266,
    "hue_spread_deg": 51.1,
    "resultant_R": 0.6723,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__hidream-o1-dev__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-hidream-o1-dev-fp8",
   "archive_id": "foe_drowned_hand__hidream-o1-dev__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T11:16:39+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-hidream-o1-dev-fp8",
   "law": "cleared",
   "law_detail": "hidream-o1-image-dev \u2014 MIT",
   "sid": "foe-drowned-hand-512-seed-1301-hidream-o1-dev-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "chroma1-hd-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-chroma1-hd-fp8.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-chroma1-hd-fp8.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "Chroma1-HD-fp8mixed.safetensors",
   "arm_column": "chroma1-hd-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "beta",
   "steps": 32,
   "cfg": 3.5,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 7.59,
   "colour": {
    "mean_hue_deg": 133.4,
    "mean_saturation": 0.3439,
    "hue_spread_deg": 49.5,
    "resultant_R": 0.6883,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__chroma1-hd__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-chroma1-hd-fp8",
   "archive_id": "foe_drowned_hand__chroma1-hd__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T11:27:11+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-chroma1-hd-fp8",
   "law": "cleared",
   "law_detail": "chroma1-hd (fp8mixed repack) \u2014 Apache-2.0",
   "sid": "foe-drowned-hand-512-seed-1301-chroma1-hd-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "krea2-turbo-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-krea2-turbo-fp8.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-krea2-turbo-fp8.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "krea2_turbo_fp8_scaled.safetensors",
   "arm_column": "krea2-turbo-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 1.26,
   "colour": {
    "mean_hue_deg": 29.2,
    "mean_saturation": 0.4946,
    "hue_spread_deg": 9.7,
    "resultant_R": 0.9859,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__krea2-turbo__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-krea2-turbo-fp8",
   "archive_id": "foe_drowned_hand__krea2-turbo__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:40:50+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-krea2-turbo-fp8",
   "law": "cleared",
   "law_detail": "krea 2 turbo (fp8_scaled) \u2014 Krea 2 Community License Agreement v.1",
   "sid": "foe-drowned-hand-512-seed-1301-krea2-turbo-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "mage-flow-turbo-int8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-mage-flow-turbo-int8.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-mage-flow-turbo-int8.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "mage_flow_turbo_int8_convrot.safetensors",
   "arm_column": "mage-flow-turbo-int8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 0.73,
   "colour": {
    "mean_hue_deg": 40.5,
    "mean_saturation": 0.6531,
    "hue_spread_deg": 19.9,
    "resultant_R": 0.9412,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__mageflow-turbo__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-mage-flow-turbo-int8",
   "archive_id": "foe_drowned_hand__mageflow-turbo__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:37:54+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-mageflow-turbo-int8",
   "law": "cleared",
   "law_detail": "mage-flow 4B turbo (int8) \u2014 MIT License",
   "sid": "foe-drowned-hand-512-seed-1301-mage-flow-turbo-int8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "ernie-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-ernie-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-ernie-image-turbo-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "ernie-image-turbo.safetensors",
   "arm_column": "ernie-image-turbo-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 11.08,
   "colour": {
    "mean_hue_deg": 40.9,
    "mean_saturation": 0.6087,
    "hue_spread_deg": 46.8,
    "resultant_R": 0.7168,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ernie-turbo__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-ernie-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ernie-turbo__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T16:02:36+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-ernie-turbo-bf16",
   "law": "cleared",
   "law_detail": "ernie-image turbo (baidu) \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-512-seed-1301-ernie-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 1301",
   "column": "kandinsky5-lite-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-1301-kandinsky5-lite-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-1301-kandinsky5-lite-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "kandinsky5lite_t2i.safetensors",
   "arm_column": "kandinsky5-lite-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 3.5,
   "width": 512,
   "height": 512,
   "seed": 1301,
   "render_seconds": 6.11,
   "colour": {
    "mean_hue_deg": 36.7,
    "mean_saturation": 0.4267,
    "hue_spread_deg": 10.6,
    "resultant_R": 0.983,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__kandinsky5-lite__512__s1301.jpg",
   "id": "foe-drowned-hand-512-seed-1301-kandinsky5-lite-bf16",
   "archive_id": "foe_drowned_hand__kandinsky5-lite__512__s1301",
   "cell_label": "",
   "at": "2026-08-23T12:55:44+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/p2-kandinsky5-lite-bf16",
   "law": "cleared",
   "law_detail": "kandinsky 5.0 image lite \u2014 The MIT License (MIT)",
   "sid": "foe-drowned-hand-512-seed-1301-kandinsky5-lite-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "z-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-z-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-z-image-turbo-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 0.56,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ctrl-z-image-turbo__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-z-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ctrl-z-image-turbo__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T09:56: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": "foe-drowned-hand-512-seed-71301-z-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "flux2-klein-4b-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-flux2-klein-4b-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-flux2-klein-4b-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "flux-2-klein-4b.safetensors",
   "arm_column": "flux2-klein-4b-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": null,
   "steps": 4,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 0.26,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__flux2-klein-4b__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-flux2-klein-4b-bf16",
   "archive_id": "foe_drowned_hand__flux2-klein-4b__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:32:23+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-klein4b-bf16",
   "law": "cleared",
   "law_detail": "flux.2 [klein] 4B \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-512-seed-71301-flux2-klein-4b-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "z-image-base-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-z-image-base-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-z-image-base-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 4.0,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 3.72,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__z-image-base__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-z-image-base-bf16",
   "archive_id": "foe_drowned_hand__z-image-base__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:49:27+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-drowned-hand-512-seed-71301-z-image-base-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "hidream-o1-dev-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-hidream-o1-dev-fp8.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-hidream-o1-dev-fp8.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "hidream_o1_image_dev_fp8_scaled.safetensors",
   "arm_column": "hidream-o1-dev-fp8",
   "lora": [],
   "sampler": null,
   "scheduler": "normal",
   "steps": 32,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 2.47,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__hidream-o1-dev__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-hidream-o1-dev-fp8",
   "archive_id": "foe_drowned_hand__hidream-o1-dev__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T11:16:42+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-hidream-o1-dev-fp8",
   "law": "cleared",
   "law_detail": "hidream-o1-image-dev \u2014 MIT",
   "sid": "foe-drowned-hand-512-seed-71301-hidream-o1-dev-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "chroma1-hd-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-chroma1-hd-fp8.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-chroma1-hd-fp8.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "Chroma1-HD-fp8mixed.safetensors",
   "arm_column": "chroma1-hd-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "beta",
   "steps": 32,
   "cfg": 3.5,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 7.53,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__chroma1-hd__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-chroma1-hd-fp8",
   "archive_id": "foe_drowned_hand__chroma1-hd__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T11:27:19+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-chroma1-hd-fp8",
   "law": "cleared",
   "law_detail": "chroma1-hd (fp8mixed repack) \u2014 Apache-2.0",
   "sid": "foe-drowned-hand-512-seed-71301-chroma1-hd-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "krea2-turbo-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-krea2-turbo-fp8.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-krea2-turbo-fp8.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "krea2_turbo_fp8_scaled.safetensors",
   "arm_column": "krea2-turbo-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 1.11,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__krea2-turbo__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-krea2-turbo-fp8",
   "archive_id": "foe_drowned_hand__krea2-turbo__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:40:51+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-krea2-turbo-fp8",
   "law": "cleared",
   "law_detail": "krea 2 turbo (fp8_scaled) \u2014 Krea 2 Community License Agreement v.1",
   "sid": "foe-drowned-hand-512-seed-71301-krea2-turbo-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "mage-flow-turbo-int8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-mage-flow-turbo-int8.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-mage-flow-turbo-int8.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "mage_flow_turbo_int8_convrot.safetensors",
   "arm_column": "mage-flow-turbo-int8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 0.54,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__mageflow-turbo__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-mage-flow-turbo-int8",
   "archive_id": "foe_drowned_hand__mageflow-turbo__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:37:55+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-mageflow-turbo-int8",
   "law": "cleared",
   "law_detail": "mage-flow 4B turbo (int8) \u2014 MIT License",
   "sid": "foe-drowned-hand-512-seed-71301-mage-flow-turbo-int8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "ernie-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-ernie-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-ernie-image-turbo-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "ernie-image-turbo.safetensors",
   "arm_column": "ernie-image-turbo-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 0.71,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ernie-turbo__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-ernie-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ernie-turbo__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T16:02:37+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-ernie-turbo-bf16",
   "law": "cleared",
   "law_detail": "ernie-image turbo (baidu) \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-512-seed-71301-ernie-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "512\u00b2 \u00b7 seed 71301",
   "column": "kandinsky5-lite-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/foe-drowned-hand-512-seed-71301-kandinsky5-lite-bf16.webp",
   "tile": "img/foe-drowned-hand-512-seed-71301-kandinsky5-lite-bf16.webp",
   "shown_width": 512,
   "shown_height": 512,
   "checkpoint": "kandinsky5lite_t2i.safetensors",
   "arm_column": "kandinsky5-lite-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 3.5,
   "width": 512,
   "height": 512,
   "seed": 71301,
   "render_seconds": 6.02,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__kandinsky5-lite__512__s71301.jpg",
   "id": "foe-drowned-hand-512-seed-71301-kandinsky5-lite-bf16",
   "archive_id": "foe_drowned_hand__kandinsky5-lite__512__s71301",
   "cell_label": "",
   "at": "2026-08-23T12:55:51+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/p2-kandinsky5-lite-bf16",
   "law": "cleared",
   "law_detail": "kandinsky 5.0 image lite \u2014 The MIT License (MIT)",
   "sid": "foe-drowned-hand-512-seed-71301-kandinsky5-lite-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "z-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-z-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-z-image-turbo-bf16.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": 1301,
   "render_seconds": 1.18,
   "colour": {
    "mean_hue_deg": 39.6,
    "mean_saturation": 0.35,
    "hue_spread_deg": 15.3,
    "resultant_R": 0.9648,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ctrl-z-image-turbo__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-z-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ctrl-z-image-turbo__768__s1301",
   "cell_label": "",
   "at": "2026-08-23T09:56: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": "foe-drowned-hand-768-seed-1301-z-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "z-image-turbo-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-z-image-turbo-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-z-image-turbo-bf16-bare.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": 1301,
   "render_seconds": 1.2,
   "colour": {
    "mean_hue_deg": 53.9,
    "mean_saturation": 0.2017,
    "hue_spread_deg": 47.9,
    "resultant_R": 0.7055,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ctrl-z-image-turbo__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-z-image-turbo-bf16-bare",
   "archive_id": "foe_drowned_hand__ctrl-z-image-turbo__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T16:42: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": "foe-drowned-hand-768-seed-1301-z-image-turbo-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "flux2-klein-4b-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-flux2-klein-4b-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-flux2-klein-4b-bf16.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "flux-2-klein-4b.safetensors",
   "arm_column": "flux2-klein-4b-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": null,
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 0.6,
   "colour": {
    "mean_hue_deg": 24.9,
    "mean_saturation": 0.3054,
    "hue_spread_deg": 38.0,
    "resultant_R": 0.8026,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__flux2-klein-4b__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-flux2-klein-4b-bf16",
   "archive_id": "foe_drowned_hand__flux2-klein-4b__768__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:32:44+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-klein4b-bf16",
   "law": "cleared",
   "law_detail": "flux.2 [klein] 4B \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-768-seed-1301-flux2-klein-4b-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "flux2-klein-4b-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-flux2-klein-4b-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-flux2-klein-4b-bf16-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "flux-2-klein-4b.safetensors",
   "arm_column": "flux2-klein-4b-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": null,
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 0.59,
   "colour": {
    "mean_hue_deg": 117.6,
    "mean_saturation": 0.0903,
    "hue_spread_deg": 74.4,
    "resultant_R": 0.4306,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__flux2-klein-4b__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-flux2-klein-4b-bf16-bare",
   "archive_id": "foe_drowned_hand__flux2-klein-4b__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T16:44:26+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-klein4b-bf16",
   "law": "cleared",
   "law_detail": "flux.2 [klein] 4B \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-768-seed-1301-flux2-klein-4b-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "z-image-base-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-z-image-base-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-z-image-base-bf16.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": {
    "mean_hue_deg": 37.8,
    "mean_saturation": 0.3849,
    "hue_spread_deg": 5.8,
    "resultant_R": 0.9949,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__z-image-base__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-z-image-base-bf16",
   "archive_id": "foe_drowned_hand__z-image-base__768__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-drowned-hand-768-seed-1301-z-image-base-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "z-image-base-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-z-image-base-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-z-image-base-bf16-bare.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": 13.84,
   "colour": {
    "mean_hue_deg": 209.7,
    "mean_saturation": 0.3928,
    "hue_spread_deg": 44.1,
    "resultant_R": 0.7441,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__z-image-base__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-z-image-base-bf16-bare",
   "archive_id": "foe_drowned_hand__z-image-base__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T17:22: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-drowned-hand-768-seed-1301-z-image-base-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "hidream-o1-dev-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-hidream-o1-dev-fp8.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-hidream-o1-dev-fp8.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "hidream_o1_image_dev_fp8_scaled.safetensors",
   "arm_column": "hidream-o1-dev-fp8",
   "lora": [],
   "sampler": null,
   "scheduler": "normal",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 2.53,
   "colour": {
    "mean_hue_deg": 32.9,
    "mean_saturation": 0.196,
    "hue_spread_deg": 32.2,
    "resultant_R": 0.8541,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__hidream-o1-dev__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-hidream-o1-dev-fp8",
   "archive_id": "foe_drowned_hand__hidream-o1-dev__768__s1301",
   "cell_label": "",
   "at": "2026-08-23T11:18:33+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-hidream-o1-dev-fp8",
   "law": "cleared",
   "law_detail": "hidream-o1-image-dev \u2014 MIT",
   "sid": "foe-drowned-hand-768-seed-1301-hidream-o1-dev-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "hidream-o1-dev-fp8\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-hidream-o1-dev-fp8-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-hidream-o1-dev-fp8-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "hidream_o1_image_dev_fp8_scaled.safetensors",
   "arm_column": "hidream-o1-dev-fp8",
   "lora": [],
   "sampler": null,
   "scheduler": "normal",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 2.41,
   "colour": {
    "mean_hue_deg": 30.1,
    "mean_saturation": 0.194,
    "hue_spread_deg": 14.3,
    "resultant_R": 0.9695,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__hidream-o1-dev__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-hidream-o1-dev-fp8-bare",
   "archive_id": "foe_drowned_hand__hidream-o1-dev__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T16:45:49+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-hidream-o1-dev-fp8",
   "law": "cleared",
   "law_detail": "hidream-o1-image-dev \u2014 MIT",
   "sid": "foe-drowned-hand-768-seed-1301-hidream-o1-dev-fp8-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "chroma1-hd-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-chroma1-hd-fp8.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-chroma1-hd-fp8.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "Chroma1-HD-fp8mixed.safetensors",
   "arm_column": "chroma1-hd-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "beta",
   "steps": 32,
   "cfg": 3.5,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 7.74,
   "colour": {
    "mean_hue_deg": 52.8,
    "mean_saturation": 0.376,
    "hue_spread_deg": 24.2,
    "resultant_R": 0.9144,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__chroma1-hd__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-chroma1-hd-fp8",
   "archive_id": "foe_drowned_hand__chroma1-hd__768__s1301",
   "cell_label": "",
   "at": "2026-08-23T11:32:19+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-chroma1-hd-fp8",
   "law": "cleared",
   "law_detail": "chroma1-hd (fp8mixed repack) \u2014 Apache-2.0",
   "sid": "foe-drowned-hand-768-seed-1301-chroma1-hd-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "chroma1-hd-fp8\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-chroma1-hd-fp8-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-chroma1-hd-fp8-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "Chroma1-HD-fp8mixed.safetensors",
   "arm_column": "chroma1-hd-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "beta",
   "steps": 32,
   "cfg": 3.5,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 13.6,
   "colour": {
    "mean_hue_deg": 170.5,
    "mean_saturation": 0.4967,
    "hue_spread_deg": 32.2,
    "resultant_R": 0.8541,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__chroma1-hd__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-chroma1-hd-fp8-bare",
   "archive_id": "foe_drowned_hand__chroma1-hd__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T17:29:17+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-chroma1-hd-fp8",
   "law": "cleared",
   "law_detail": "chroma1-hd (fp8mixed repack) \u2014 Apache-2.0",
   "sid": "foe-drowned-hand-768-seed-1301-chroma1-hd-fp8-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "krea2-turbo-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-krea2-turbo-fp8.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-krea2-turbo-fp8.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "krea2_turbo_fp8_scaled.safetensors",
   "arm_column": "krea2-turbo-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 2.09,
   "colour": {
    "mean_hue_deg": 27.9,
    "mean_saturation": 0.5247,
    "hue_spread_deg": 7.7,
    "resultant_R": 0.991,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__krea2-turbo__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-krea2-turbo-fp8",
   "archive_id": "foe_drowned_hand__krea2-turbo__768__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:41:55+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-krea2-turbo-fp8",
   "law": "cleared",
   "law_detail": "krea 2 turbo (fp8_scaled) \u2014 Krea 2 Community License Agreement v.1",
   "sid": "foe-drowned-hand-768-seed-1301-krea2-turbo-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "krea2-turbo-fp8\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-krea2-turbo-fp8-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-krea2-turbo-fp8-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "krea2_turbo_fp8_scaled.safetensors",
   "arm_column": "krea2-turbo-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 2.03,
   "colour": {
    "mean_hue_deg": 213.7,
    "mean_saturation": 0.3375,
    "hue_spread_deg": 64.1,
    "resultant_R": 0.535,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__krea2-turbo__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-krea2-turbo-fp8-bare",
   "archive_id": "foe_drowned_hand__krea2-turbo__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T16:49:43+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-krea2-turbo-fp8",
   "law": "cleared",
   "law_detail": "krea 2 turbo (fp8_scaled) \u2014 Krea 2 Community License Agreement v.1",
   "sid": "foe-drowned-hand-768-seed-1301-krea2-turbo-fp8-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "mage-flow-turbo-int8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-mage-flow-turbo-int8.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-mage-flow-turbo-int8.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "mage_flow_turbo_int8_convrot.safetensors",
   "arm_column": "mage-flow-turbo-int8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 0.78,
   "colour": {
    "mean_hue_deg": 40.5,
    "mean_saturation": 0.4477,
    "hue_spread_deg": 14.9,
    "resultant_R": 0.9669,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__mageflow-turbo__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-mage-flow-turbo-int8",
   "archive_id": "foe_drowned_hand__mageflow-turbo__768__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:38:23+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-mageflow-turbo-int8",
   "law": "cleared",
   "law_detail": "mage-flow 4B turbo (int8) \u2014 MIT License",
   "sid": "foe-drowned-hand-768-seed-1301-mage-flow-turbo-int8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "mage-flow-turbo-int8\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-mage-flow-turbo-int8-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-mage-flow-turbo-int8-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "mage_flow_turbo_int8_convrot.safetensors",
   "arm_column": "mage-flow-turbo-int8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 6.59,
   "colour": {
    "mean_hue_deg": 188.5,
    "mean_saturation": 0.2616,
    "hue_spread_deg": 70.4,
    "resultant_R": 0.4699,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__mageflow-turbo__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-mage-flow-turbo-int8-bare",
   "archive_id": "foe_drowned_hand__mageflow-turbo__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T17:36:37+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-mageflow-turbo-int8",
   "law": "cleared",
   "law_detail": "mage-flow 4B turbo (int8) \u2014 MIT License",
   "sid": "foe-drowned-hand-768-seed-1301-mage-flow-turbo-int8-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "ernie-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-ernie-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-ernie-image-turbo-bf16.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "ernie-image-turbo.safetensors",
   "arm_column": "ernie-image-turbo-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 1.45,
   "colour": {
    "mean_hue_deg": 33.3,
    "mean_saturation": 0.4191,
    "hue_spread_deg": 30.6,
    "resultant_R": 0.8671,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ernie-turbo__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-ernie-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ernie-turbo__768__s1301",
   "cell_label": "",
   "at": "2026-08-23T16:03:07+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-ernie-turbo-bf16",
   "law": "cleared",
   "law_detail": "ernie-image turbo (baidu) \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-768-seed-1301-ernie-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "ernie-image-turbo-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-ernie-image-turbo-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-ernie-image-turbo-bf16-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "ernie-image-turbo.safetensors",
   "arm_column": "ernie-image-turbo-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 12.87,
   "colour": {
    "mean_hue_deg": 165.1,
    "mean_saturation": 0.3618,
    "hue_spread_deg": 55.9,
    "resultant_R": 0.6217,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ernie-turbo__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-ernie-image-turbo-bf16-bare",
   "archive_id": "foe_drowned_hand__ernie-turbo__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T17:37:23+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-ernie-turbo-bf16",
   "law": "cleared",
   "law_detail": "ernie-image turbo (baidu) \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-768-seed-1301-ernie-image-turbo-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "kandinsky5-lite-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-kandinsky5-lite-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-kandinsky5-lite-bf16.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "kandinsky5lite_t2i.safetensors",
   "arm_column": "kandinsky5-lite-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 3.5,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 6.24,
   "colour": {
    "mean_hue_deg": 33.1,
    "mean_saturation": 0.4748,
    "hue_spread_deg": 13.9,
    "resultant_R": 0.9711,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__kandinsky5-lite__768__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-kandinsky5-lite-bf16",
   "archive_id": "foe_drowned_hand__kandinsky5-lite__768__s1301",
   "cell_label": "",
   "at": "2026-08-23T12:59:47+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/p2-kandinsky5-lite-bf16",
   "law": "cleared",
   "law_detail": "kandinsky 5.0 image lite \u2014 The MIT License (MIT)",
   "sid": "foe-drowned-hand-768-seed-1301-kandinsky5-lite-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 1301",
   "column": "kandinsky5-lite-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-1301-kandinsky5-lite-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-1301-kandinsky5-lite-bf16-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "kandinsky5lite_t2i.safetensors",
   "arm_column": "kandinsky5-lite-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 3.5,
   "width": 768,
   "height": 768,
   "seed": 1301,
   "render_seconds": 15.09,
   "colour": {
    "mean_hue_deg": 159.0,
    "mean_saturation": 0.5238,
    "hue_spread_deg": 31.4,
    "resultant_R": 0.8609,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__kandinsky5-lite__768__bare__s1301.jpg",
   "id": "foe-drowned-hand-768-seed-1301-kandinsky5-lite-bf16-bare",
   "archive_id": "foe_drowned_hand__kandinsky5-lite__768__bare__s1301",
   "cell_label": "",
   "at": "2026-08-23T17:46:14+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/p2-kandinsky5-lite-bf16",
   "law": "cleared",
   "law_detail": "kandinsky 5.0 image lite \u2014 The MIT License (MIT)",
   "sid": "foe-drowned-hand-768-seed-1301-kandinsky5-lite-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "z-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-z-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-z-image-turbo-bf16.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": 71301,
   "render_seconds": 1.1,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ctrl-z-image-turbo__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-z-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ctrl-z-image-turbo__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T09:56: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": "foe-drowned-hand-768-seed-71301-z-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "z-image-turbo-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-z-image-turbo-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-z-image-turbo-bf16-bare.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": 71301,
   "render_seconds": 1.12,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ctrl-z-image-turbo__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-z-image-turbo-bf16-bare",
   "archive_id": "foe_drowned_hand__ctrl-z-image-turbo__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T16:42: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": "foe-drowned-hand-768-seed-71301-z-image-turbo-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "flux2-klein-4b-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-flux2-klein-4b-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-flux2-klein-4b-bf16.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "flux-2-klein-4b.safetensors",
   "arm_column": "flux2-klein-4b-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": null,
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 0.47,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__flux2-klein-4b__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-flux2-klein-4b-bf16",
   "archive_id": "foe_drowned_hand__flux2-klein-4b__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:32:44+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-klein4b-bf16",
   "law": "cleared",
   "law_detail": "flux.2 [klein] 4B \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-768-seed-71301-flux2-klein-4b-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "flux2-klein-4b-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-flux2-klein-4b-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-flux2-klein-4b-bf16-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "flux-2-klein-4b.safetensors",
   "arm_column": "flux2-klein-4b-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": null,
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 0.46,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__flux2-klein-4b__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-flux2-klein-4b-bf16-bare",
   "archive_id": "foe_drowned_hand__flux2-klein-4b__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T16:44:27+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-klein4b-bf16",
   "law": "cleared",
   "law_detail": "flux.2 [klein] 4B \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-768-seed-71301-flux2-klein-4b-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "z-image-base-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-z-image-base-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-z-image-base-bf16.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": 71301,
   "render_seconds": 7.8,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__z-image-base__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-z-image-base-bf16",
   "archive_id": "foe_drowned_hand__z-image-base__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:53:21+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-drowned-hand-768-seed-71301-z-image-base-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "z-image-base-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-z-image-base-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-z-image-base-bf16-bare.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": 71301,
   "render_seconds": 7.52,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__z-image-base__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-z-image-base-bf16-bare",
   "archive_id": "foe_drowned_hand__z-image-base__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T17:22:42+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-drowned-hand-768-seed-71301-z-image-base-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "hidream-o1-dev-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-hidream-o1-dev-fp8.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-hidream-o1-dev-fp8.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "hidream_o1_image_dev_fp8_scaled.safetensors",
   "arm_column": "hidream-o1-dev-fp8",
   "lora": [],
   "sampler": null,
   "scheduler": "normal",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 2.53,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__hidream-o1-dev__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-hidream-o1-dev-fp8",
   "archive_id": "foe_drowned_hand__hidream-o1-dev__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T11:18:36+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-hidream-o1-dev-fp8",
   "law": "cleared",
   "law_detail": "hidream-o1-image-dev \u2014 MIT",
   "sid": "foe-drowned-hand-768-seed-71301-hidream-o1-dev-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "hidream-o1-dev-fp8\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-hidream-o1-dev-fp8-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-hidream-o1-dev-fp8-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "hidream_o1_image_dev_fp8_scaled.safetensors",
   "arm_column": "hidream-o1-dev-fp8",
   "lora": [],
   "sampler": null,
   "scheduler": "normal",
   "steps": 32,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 2.42,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__hidream-o1-dev__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-hidream-o1-dev-fp8-bare",
   "archive_id": "foe_drowned_hand__hidream-o1-dev__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T16:45:52+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-hidream-o1-dev-fp8",
   "law": "cleared",
   "law_detail": "hidream-o1-image-dev \u2014 MIT",
   "sid": "foe-drowned-hand-768-seed-71301-hidream-o1-dev-fp8-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "chroma1-hd-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-chroma1-hd-fp8.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-chroma1-hd-fp8.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "Chroma1-HD-fp8mixed.safetensors",
   "arm_column": "chroma1-hd-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "beta",
   "steps": 32,
   "cfg": 3.5,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 7.7,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__chroma1-hd__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-chroma1-hd-fp8",
   "archive_id": "foe_drowned_hand__chroma1-hd__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T11:32:27+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-chroma1-hd-fp8",
   "law": "cleared",
   "law_detail": "chroma1-hd (fp8mixed repack) \u2014 Apache-2.0",
   "sid": "foe-drowned-hand-768-seed-71301-chroma1-hd-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "chroma1-hd-fp8\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-chroma1-hd-fp8-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-chroma1-hd-fp8-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "Chroma1-HD-fp8mixed.safetensors",
   "arm_column": "chroma1-hd-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "beta",
   "steps": 32,
   "cfg": 3.5,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 8.45,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__chroma1-hd__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-chroma1-hd-fp8-bare",
   "archive_id": "foe_drowned_hand__chroma1-hd__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T17:29:25+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-chroma1-hd-fp8",
   "law": "cleared",
   "law_detail": "chroma1-hd (fp8mixed repack) \u2014 Apache-2.0",
   "sid": "foe-drowned-hand-768-seed-71301-chroma1-hd-fp8-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "krea2-turbo-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-krea2-turbo-fp8.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-krea2-turbo-fp8.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "krea2_turbo_fp8_scaled.safetensors",
   "arm_column": "krea2-turbo-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 1.94,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__krea2-turbo__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-krea2-turbo-fp8",
   "archive_id": "foe_drowned_hand__krea2-turbo__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:41:57+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-krea2-turbo-fp8",
   "law": "cleared",
   "law_detail": "krea 2 turbo (fp8_scaled) \u2014 Krea 2 Community License Agreement v.1",
   "sid": "foe-drowned-hand-768-seed-71301-krea2-turbo-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "krea2-turbo-fp8\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-krea2-turbo-fp8-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-krea2-turbo-fp8-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "krea2_turbo_fp8_scaled.safetensors",
   "arm_column": "krea2-turbo-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 1.89,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__krea2-turbo__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-krea2-turbo-fp8-bare",
   "archive_id": "foe_drowned_hand__krea2-turbo__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T16:49:45+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-krea2-turbo-fp8",
   "law": "cleared",
   "law_detail": "krea 2 turbo (fp8_scaled) \u2014 Krea 2 Community License Agreement v.1",
   "sid": "foe-drowned-hand-768-seed-71301-krea2-turbo-fp8-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "mage-flow-turbo-int8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-mage-flow-turbo-int8.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-mage-flow-turbo-int8.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "mage_flow_turbo_int8_convrot.safetensors",
   "arm_column": "mage-flow-turbo-int8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 0.58,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__mageflow-turbo__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-mage-flow-turbo-int8",
   "archive_id": "foe_drowned_hand__mageflow-turbo__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:38:23+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-mageflow-turbo-int8",
   "law": "cleared",
   "law_detail": "mage-flow 4B turbo (int8) \u2014 MIT License",
   "sid": "foe-drowned-hand-768-seed-71301-mage-flow-turbo-int8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "mage-flow-turbo-int8\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-mage-flow-turbo-int8-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-mage-flow-turbo-int8-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "mage_flow_turbo_int8_convrot.safetensors",
   "arm_column": "mage-flow-turbo-int8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 0.62,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__mageflow-turbo__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-mage-flow-turbo-int8-bare",
   "archive_id": "foe_drowned_hand__mageflow-turbo__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T17:36:38+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-mageflow-turbo-int8",
   "law": "cleared",
   "law_detail": "mage-flow 4B turbo (int8) \u2014 MIT License",
   "sid": "foe-drowned-hand-768-seed-71301-mage-flow-turbo-int8-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "ernie-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-ernie-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-ernie-image-turbo-bf16.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "ernie-image-turbo.safetensors",
   "arm_column": "ernie-image-turbo-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 1.4,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ernie-turbo__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-ernie-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ernie-turbo__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T16:03:08+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-ernie-turbo-bf16",
   "law": "cleared",
   "law_detail": "ernie-image turbo (baidu) \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-768-seed-71301-ernie-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "ernie-image-turbo-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-ernie-image-turbo-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-ernie-image-turbo-bf16-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "ernie-image-turbo.safetensors",
   "arm_column": "ernie-image-turbo-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 1.37,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ernie-turbo__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-ernie-image-turbo-bf16-bare",
   "archive_id": "foe_drowned_hand__ernie-turbo__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T17:37:24+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-ernie-turbo-bf16",
   "law": "cleared",
   "law_detail": "ernie-image turbo (baidu) \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-768-seed-71301-ernie-image-turbo-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "kandinsky5-lite-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-kandinsky5-lite-bf16.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-kandinsky5-lite-bf16.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "kandinsky5lite_t2i.safetensors",
   "arm_column": "kandinsky5-lite-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 3.5,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 6.06,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__kandinsky5-lite__768__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-kandinsky5-lite-bf16",
   "archive_id": "foe_drowned_hand__kandinsky5-lite__768__s71301",
   "cell_label": "",
   "at": "2026-08-23T12:59:53+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/p2-kandinsky5-lite-bf16",
   "law": "cleared",
   "law_detail": "kandinsky 5.0 image lite \u2014 The MIT License (MIT)",
   "sid": "foe-drowned-hand-768-seed-71301-kandinsky5-lite-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "768\u00b2 \u00b7 seed 71301",
   "column": "kandinsky5-lite-bf16\u00b7bare",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-768-seed-71301-kandinsky5-lite-bf16-bare.webp",
   "tile": "img/foe-drowned-hand-768-seed-71301-kandinsky5-lite-bf16-bare.webp",
   "shown_width": 768,
   "shown_height": 768,
   "checkpoint": "kandinsky5lite_t2i.safetensors",
   "arm_column": "kandinsky5-lite-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 3.5,
   "width": 768,
   "height": 768,
   "seed": 71301,
   "render_seconds": 6.03,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__kandinsky5-lite__768__bare__s71301.jpg",
   "id": "foe-drowned-hand-768-seed-71301-kandinsky5-lite-bf16-bare",
   "archive_id": "foe_drowned_hand__kandinsky5-lite__768__bare__s71301",
   "cell_label": "",
   "at": "2026-08-23T17:46:20+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/p2-kandinsky5-lite-bf16",
   "law": "cleared",
   "law_detail": "kandinsky 5.0 image lite \u2014 The MIT License (MIT)",
   "sid": "foe-drowned-hand-768-seed-71301-kandinsky5-lite-bf16-bare"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "z-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-z-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-z-image-turbo-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 2.03,
   "colour": {
    "mean_hue_deg": 44.3,
    "mean_saturation": 0.2465,
    "hue_spread_deg": 30.9,
    "resultant_R": 0.8645,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ctrl-z-image-turbo__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-z-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ctrl-z-image-turbo__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T09:57:52+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": "foe-drowned-hand-1024-seed-1301-z-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "flux2-klein-4b-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-flux2-klein-4b-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-flux2-klein-4b-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "flux-2-klein-4b.safetensors",
   "arm_column": "flux2-klein-4b-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": null,
   "steps": 4,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 0.93,
   "colour": {
    "mean_hue_deg": 28.8,
    "mean_saturation": 0.4082,
    "hue_spread_deg": 54.5,
    "resultant_R": 0.6359,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__flux2-klein-4b__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-flux2-klein-4b-bf16",
   "archive_id": "foe_drowned_hand__flux2-klein-4b__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:33:14+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-klein4b-bf16",
   "law": "cleared",
   "law_detail": "flux.2 [klein] 4B \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-1024-seed-1301-flux2-klein-4b-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "z-image-base-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-z-image-base-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-z-image-base-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 4.0,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 13.93,
   "colour": {
    "mean_hue_deg": 46.0,
    "mean_saturation": 0.2947,
    "hue_spread_deg": 8.5,
    "resultant_R": 0.9891,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__z-image-base__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-z-image-base-bf16",
   "archive_id": "foe_drowned_hand__z-image-base__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T11:00:27+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-drowned-hand-1024-seed-1301-z-image-base-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "hidream-o1-dev-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-hidream-o1-dev-fp8.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-hidream-o1-dev-fp8.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "hidream_o1_image_dev_fp8_scaled.safetensors",
   "arm_column": "hidream-o1-dev-fp8",
   "lora": [],
   "sampler": null,
   "scheduler": "normal",
   "steps": 32,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 2.55,
   "colour": {
    "mean_hue_deg": 29.9,
    "mean_saturation": 0.2263,
    "hue_spread_deg": 22.3,
    "resultant_R": 0.9271,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__hidream-o1-dev__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-hidream-o1-dev-fp8",
   "archive_id": "foe_drowned_hand__hidream-o1-dev__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T11:20:22+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-hidream-o1-dev-fp8",
   "law": "cleared",
   "law_detail": "hidream-o1-image-dev \u2014 MIT",
   "sid": "foe-drowned-hand-1024-seed-1301-hidream-o1-dev-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "chroma1-hd-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-chroma1-hd-fp8.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-chroma1-hd-fp8.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "Chroma1-HD-fp8mixed.safetensors",
   "arm_column": "chroma1-hd-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "beta",
   "steps": 32,
   "cfg": 3.5,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 14.55,
   "colour": {
    "mean_hue_deg": 144.5,
    "mean_saturation": 0.4184,
    "hue_spread_deg": 47.5,
    "resultant_R": 0.7091,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__chroma1-hd__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-chroma1-hd-fp8",
   "archive_id": "foe_drowned_hand__chroma1-hd__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T11:39:35+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-chroma1-hd-fp8",
   "law": "cleared",
   "law_detail": "chroma1-hd (fp8mixed repack) \u2014 Apache-2.0",
   "sid": "foe-drowned-hand-1024-seed-1301-chroma1-hd-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "krea2-turbo-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-krea2-turbo-fp8.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-krea2-turbo-fp8.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "krea2_turbo_fp8_scaled.safetensors",
   "arm_column": "krea2-turbo-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 3.67,
   "colour": {
    "mean_hue_deg": 30.5,
    "mean_saturation": 0.4665,
    "hue_spread_deg": 9.1,
    "resultant_R": 0.9874,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__krea2-turbo__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-krea2-turbo-fp8",
   "archive_id": "foe_drowned_hand__krea2-turbo__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:43:47+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-krea2-turbo-fp8",
   "law": "cleared",
   "law_detail": "krea 2 turbo (fp8_scaled) \u2014 Krea 2 Community License Agreement v.1",
   "sid": "foe-drowned-hand-1024-seed-1301-krea2-turbo-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "mage-flow-turbo-int8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-mage-flow-turbo-int8.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-mage-flow-turbo-int8.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "mage_flow_turbo_int8_convrot.safetensors",
   "arm_column": "mage-flow-turbo-int8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 1.04,
   "colour": {
    "mean_hue_deg": 44.3,
    "mean_saturation": 0.441,
    "hue_spread_deg": 20.7,
    "resultant_R": 0.937,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__mageflow-turbo__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-mage-flow-turbo-int8",
   "archive_id": "foe_drowned_hand__mageflow-turbo__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T10:38:57+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-mageflow-turbo-int8",
   "law": "cleared",
   "law_detail": "mage-flow 4B turbo (int8) \u2014 MIT License",
   "sid": "foe-drowned-hand-1024-seed-1301-mage-flow-turbo-int8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "ernie-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-ernie-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-ernie-image-turbo-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "ernie-image-turbo.safetensors",
   "arm_column": "ernie-image-turbo-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 2.61,
   "colour": {
    "mean_hue_deg": 35.3,
    "mean_saturation": 0.483,
    "hue_spread_deg": 38.3,
    "resultant_R": 0.7997,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ernie-turbo__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-ernie-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ernie-turbo__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T16:04:03+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-ernie-turbo-bf16",
   "law": "cleared",
   "law_detail": "ernie-image turbo (baidu) \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-1024-seed-1301-ernie-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 1301",
   "column": "kandinsky5-lite-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-1301-kandinsky5-lite-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-1301-kandinsky5-lite-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "kandinsky5lite_t2i.safetensors",
   "arm_column": "kandinsky5-lite-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 3.5,
   "width": 1024,
   "height": 1024,
   "seed": 1301,
   "render_seconds": 11.88,
   "colour": {
    "mean_hue_deg": 53.3,
    "mean_saturation": 0.1787,
    "hue_spread_deg": 38.3,
    "resultant_R": 0.7997,
    "n_px": 16384,
    "method": "mean hue = saturation-weighted CIRCULAR mean of per-pixel HSV hue, in degrees (atan2(sum s*sin h, sum s*cos h)); mean saturation = arithmetic mean of s in [0,1]; hue spread = circular std-dev sqrt(-2 ln R) in degrees, R = |sum s*e^(ih)| / sum s. Computed on the kit's own JPEG resampled to 128x128 (LANCZOS), HSV via Pillow. Circular because hue wraps; saturation-weighted because a grey pixel has no hue to vote with."
   },
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__kandinsky5-lite__1024__s1301.jpg",
   "id": "foe-drowned-hand-1024-seed-1301-kandinsky5-lite-bf16",
   "archive_id": "foe_drowned_hand__kandinsky5-lite__1024__s1301",
   "cell_label": "",
   "at": "2026-08-23T13:05:50+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/p2-kandinsky5-lite-bf16",
   "law": "cleared",
   "law_detail": "kandinsky 5.0 image lite \u2014 The MIT License (MIT)",
   "sid": "foe-drowned-hand-1024-seed-1301-kandinsky5-lite-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "z-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-z-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-z-image-turbo-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "z_image_turbo_bf16.safetensors",
   "arm_column": "z-image-turbo-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 1.97,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ctrl-z-image-turbo__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-z-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ctrl-z-image-turbo__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T09:57: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": "foe-drowned-hand-1024-seed-71301-z-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "flux2-klein-4b-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-flux2-klein-4b-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-flux2-klein-4b-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "flux-2-klein-4b.safetensors",
   "arm_column": "flux2-klein-4b-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": null,
   "steps": 4,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 0.8,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__flux2-klein-4b__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-flux2-klein-4b-bf16",
   "archive_id": "foe_drowned_hand__flux2-klein-4b__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:33:15+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-klein4b-bf16",
   "law": "cleared",
   "law_detail": "flux.2 [klein] 4B \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-1024-seed-71301-flux2-klein-4b-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "z-image-base-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-z-image-base-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-z-image-base-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "z_image_bf16.safetensors",
   "arm_column": "z-image-base-bf16",
   "lora": [],
   "sampler": "res_multistep",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 4.0,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 13.86,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__z-image-base__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-z-image-base-bf16",
   "archive_id": "foe_drowned_hand__z-image-base__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T11:00:41+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-drowned-hand-1024-seed-71301-z-image-base-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "hidream-o1-dev-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-hidream-o1-dev-fp8.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-hidream-o1-dev-fp8.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "hidream_o1_image_dev_fp8_scaled.safetensors",
   "arm_column": "hidream-o1-dev-fp8",
   "lora": [],
   "sampler": null,
   "scheduler": "normal",
   "steps": 32,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 2.6,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__hidream-o1-dev__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-hidream-o1-dev-fp8",
   "archive_id": "foe_drowned_hand__hidream-o1-dev__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T11:20:25+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-hidream-o1-dev-fp8",
   "law": "cleared",
   "law_detail": "hidream-o1-image-dev \u2014 MIT",
   "sid": "foe-drowned-hand-1024-seed-71301-hidream-o1-dev-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "chroma1-hd-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-chroma1-hd-fp8.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-chroma1-hd-fp8.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "Chroma1-HD-fp8mixed.safetensors",
   "arm_column": "chroma1-hd-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "beta",
   "steps": 32,
   "cfg": 3.5,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 14.49,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__chroma1-hd__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-chroma1-hd-fp8",
   "archive_id": "foe_drowned_hand__chroma1-hd__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T11:39:50+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-chroma1-hd-fp8",
   "law": "cleared",
   "law_detail": "chroma1-hd (fp8mixed repack) \u2014 Apache-2.0",
   "sid": "foe-drowned-hand-1024-seed-71301-chroma1-hd-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "krea2-turbo-fp8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-krea2-turbo-fp8.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-krea2-turbo-fp8.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "krea2_turbo_fp8_scaled.safetensors",
   "arm_column": "krea2-turbo-fp8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 3.54,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__krea2-turbo__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-krea2-turbo-fp8",
   "archive_id": "foe_drowned_hand__krea2-turbo__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:43:51+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-krea2-turbo-fp8",
   "law": "cleared",
   "law_detail": "krea 2 turbo (fp8_scaled) \u2014 Krea 2 Community License Agreement v.1",
   "sid": "foe-drowned-hand-1024-seed-71301-krea2-turbo-fp8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "mage-flow-turbo-int8",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-mage-flow-turbo-int8.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-mage-flow-turbo-int8.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "mage_flow_turbo_int8_convrot.safetensors",
   "arm_column": "mage-flow-turbo-int8",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 4,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 0.84,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__mageflow-turbo__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-mage-flow-turbo-int8",
   "archive_id": "foe_drowned_hand__mageflow-turbo__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T10:38:58+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-mageflow-turbo-int8",
   "law": "cleared",
   "law_detail": "mage-flow 4B turbo (int8) \u2014 MIT License",
   "sid": "foe-drowned-hand-1024-seed-71301-mage-flow-turbo-int8"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "ernie-image-turbo-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-ernie-image-turbo-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-ernie-image-turbo-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "ernie-image-turbo.safetensors",
   "arm_column": "ernie-image-turbo-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 8,
   "cfg": 1.0,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 2.56,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__ernie-turbo__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-ernie-image-turbo-bf16",
   "archive_id": "foe_drowned_hand__ernie-turbo__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T16:04:06+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/wave1-ernie-turbo-bf16",
   "law": "cleared",
   "law_detail": "ernie-image turbo (baidu) \u2014 Apache License 2.0",
   "sid": "foe-drowned-hand-1024-seed-71301-ernie-image-turbo-bf16"
  },
  {
   "subject": "FOE \u00b7 Drowned-Hand",
   "row": "1024\u00b2 \u00b7 seed 71301",
   "column": "kandinsky5-lite-bf16",
   "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_standard-512 shows, copied here with its own row (same model, prompt, size, seed and steps).",
   "image": "img/full/foe-drowned-hand-1024-seed-71301-kandinsky5-lite-bf16.webp",
   "tile": "img/foe-drowned-hand-1024-seed-71301-kandinsky5-lite-bf16.webp",
   "shown_width": 1024,
   "shown_height": 1024,
   "checkpoint": "kandinsky5lite_t2i.safetensors",
   "arm_column": "kandinsky5-lite-bf16",
   "lora": [],
   "sampler": "euler",
   "scheduler": "simple",
   "steps": 32,
   "cfg": 3.5,
   "width": 1024,
   "height": 1024,
   "seed": 71301,
   "render_seconds": 11.72,
   "colour": null,
   "measured": true,
   "origin": "keel \u00b7 the bench render archive",
   "master": "foe_drowned_hand__kandinsky5-lite__1024__s71301.jpg",
   "id": "foe-drowned-hand-1024-seed-71301-kandinsky5-lite-bf16",
   "archive_id": "foe_drowned_hand__kandinsky5-lite__1024__s71301",
   "cell_label": "",
   "at": "2026-08-23T13:06:02+00:00",
   "machine": "keel (96G VRAM workstation)",
   "workflow": "diffusion-0823/p2-kandinsky5-lite-bf16",
   "law": "cleared",
   "law_detail": "kandinsky 5.0 image lite \u2014 The MIT License (MIT)",
   "sid": "foe-drowned-hand-1024-seed-71301-kandinsky5-lite-bf16"
  }
 ]
}
