{
  "assertions": [
    "responds(drag)",
    "no_motion"
  ],
  "attempts": 3,
  "attribution": "\u201can interactive stovetop. turn the dial and blue natural gas flames ap\u2026\u201d \u2014 sketchgen entry 1706, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the treatment rules file. https://profcarroll.github.io/sketchgen-gallery/e/1706/ Licensed CC BY 4.0.",
  "brief": "The viewer interacts with a circular stovetop surface by manipulating a control dial. As the viewer adjusts the setting, the burner area illuminates, and flames appear at varying heights. The primary visual feature, however, is the visible heat shimmer that radiates outward from the active burners. The intensity and visible spread of this wavy shimmer visibly change in proportion to the degree of heat input controlled by the dial.",
  "completion_tokens": 6440,
  "created_utc": "2026-09-26T21:24:26Z",
  "entry_id": 1706,
  "executor": "qwen3-coder:30b-a3b-q4_K_M",
  "executor_prompt_version": "executor-v3",
  "gate": [
    {
      "assertions": {
        "no_motion": true,
        "responds(drag)": false
      },
      "attempt": 1,
      "checks": {
        "audio_context_running": null,
        "console_clean": true,
        "frame_advancing": true,
        "frame_budget": true,
        "is_looping": true,
        "revised": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 2166,
      "evidence": "gate exit 1: assertions failed: responds(drag)\n\nAssertions that failed:\n- responds(drag): drag across 20%->80% of the canvas width: mean abs diff 0.0000/255, 0 of 1152000 pixels changed\n\nRuntime state the gate read:\n- frame_advancing compares frameCount at frame 84 of the 120-frame idle window (86) with the end of it (122); at load it was 0\n",
      "exit": 1,
      "ghost": {
        "events": 30,
        "ms": 2920,
        "played": 30,
        "script": "drag",
        "source": "default"
      },
      "given": {
        "kind": "parent",
        "lines": 198,
        "sha256": "80a9ad6ff22d66158b37b999bfbd78ef9a2a73a4fdb870ac65bd96be530d0873",
        "shown": true
      },
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.2,
      "num_ctx": 16384,
      "preload_s": 0.026,
      "prompt_tokens": 3957,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-1",
      "total_s": 2.514,
      "wall_s": 188.533
    },
    {
      "assertions": {
        "no_motion": true,
        "responds(drag)": false
      },
      "attempt": 2,
      "checks": {
        "audio_context_running": null,
        "console_clean": true,
        "frame_advancing": true,
        "frame_budget": true,
        "is_looping": true,
        "revised": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 2155,
      "evidence": "gate exit 1: assertions failed: responds(drag)\n\nAssertions that failed:\n- responds(drag): drag across 20%->80% of the canvas width: mean abs diff 0.0000/255, 0 of 1152000 pixels changed\n\nRuntime state the gate read:\n- frame_advancing compares frameCount at frame 84 of the 120-frame idle window (86) with the end of it (122); at load it was 0\n",
      "exit": 1,
      "ghost": {
        "events": 30,
        "ms": 2920,
        "played": 30,
        "script": "drag",
        "source": "default"
      },
      "given": {
        "kind": "previous",
        "lines": 268,
        "sha256": "b7f46948816887e24dc9ff8ae296f4aed27d3f5c44850d736cd663b9791bde16",
        "shown": true
      },
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.2,
      "num_ctx": 16384,
      "preload_s": 0.026,
      "prompt_tokens": 4561,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-2",
      "total_s": 2.512,
      "wall_s": 208.151
    },
    {
      "assertions": {
        "no_motion": true,
        "responds(drag)": false
      },
      "attempt": 3,
      "checks": {
        "audio_context_running": null,
        "console_clean": true,
        "frame_advancing": true,
        "frame_budget": true,
        "is_looping": true,
        "revised": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 2119,
      "evidence": "gate exit 1: assertions failed: responds(drag)\n\nAssertions that failed:\n- responds(drag): drag across 20%->80% of the canvas width: mean abs diff 0.0000/255, 0 of 1152000 pixels changed\n\nRuntime state the gate read:\n- frame_advancing compares frameCount at frame 84 of the 120-frame idle window (86) with the end of it (122); at load it was 0\n",
      "exit": 1,
      "ghost": {
        "events": 30,
        "ms": 2920,
        "played": 30,
        "script": "drag",
        "source": "default"
      },
      "given": {
        "kind": "previous",
        "lines": 268,
        "sha256": "b7f46948816887e24dc9ff8ae296f4aed27d3f5c44850d736cd663b9791bde16",
        "shown": true
      },
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.2,
      "num_ctx": 16384,
      "preload_s": 0.026,
      "prompt_tokens": 4561,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-3",
      "total_s": 2.496,
      "wall_s": 153.802
    }
  ],
  "ghost": {
    "by": "default",
    "events": 40,
    "script": "wander"
  },
  "job_id": 1719,
  "last_error": null,
  "licence": "CC BY 4.0",
  "lineage": {
    "children": [
      1770
    ],
    "critique": "the same circular stovetop surface, and this time heat shimmer should visibly radiate outward from the active burners.",
    "critique_by": "gemma4:e4b",
    "generation": 2,
    "inherits_source": false,
    "parent_entry_id": 1592,
    "root_entry_id": 1456
  },
  "loads": [],
  "note": null,
  "off_node": [],
  "planner": "gemma4:e4b",
  "planner_prompt_version": "planner-v2",
  "process": null,
  "prompt": "an interactive stovetop. turn the dial and blue natural gas flames appear on the circular burners.\n\nRevise: the same interactive stovetop surface, and this time the flames should change color with the dial setting\n\nRevise: the same interactive stovetop surface, and this time the metal surrounding the burners should glow red when the flames are running.\n\nRevise: the same circular stovetop surface, and this time the flame heights should rise proportionally with the dial setting\n\nRevise: the same circular stovetop surface, and this time heat shimmer should visibly radiate outward from the active burners.",
  "prompt_tokens": 13079,
  "publish_commit": "8d8168ce3d954b9cd7a824d5227ccec84c773c26",
  "published_utc": "2026-09-27T20:25:22Z",
  "rules_file": "treatment",
  "seed": 1,
  "shape": "VM.Standard.A1.Flex 16/96",
  "source": {
    "attempts": [
      "attempt-1",
      "attempt-2",
      "attempt-3"
    ],
    "entry": "https://profcarroll.github.io/sketchgen-gallery/e/1706/",
    "index_html": "sketch/index.html",
    "repository": "https://github.com/profcarroll/sketchgen-gallery/tree/main/e/1706",
    "sketch_js": "sketch/sketch.js"
  },
  "state": "published",
  "statement": "This sketch presents an interactive stovetop interface where a viewer manipulates a central dial to control burner heat. As the dial is turned, burners illuminate with increasing intensity, producing flickering flames of varying height. The core visual effect is the heat shimmer that radiates outward from active burners \u2014 a wavy distortion that intensifies with heat input. The simulation uses particle systems for flame dynamics and concentric ripple effects to model thermal radiation, creating an immersive, responsive kitchen visualization.",
  "submitted_by": "profcarroll",
  "wall_s": 550.486
}
