{
  "assertions": [
    "responds(drag)",
    "motion(idle)"
  ],
  "attempts": 3,
  "attribution": "\u201cgraffiti app Revise: the same layered mural, and this time a change i\u2026\u201d \u2014 sketchgen entry 476, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the treatment rules file. https://profcarroll.github.io/sketchgen-gallery/e/476/ Licensed CC BY 4.0.",
  "brief": "The canvas displays an accumulating, layered mural composed of various colors and shapes. The viewer interacts by dragging the cursor across the surface, depositing virtual graffiti paint. This paint does not simply draw lines; its behavior\u2014its thickness, density, and how it spreads\u2014is dynamically affected by its simulated viscosity. As the viewer drags, the resultant deposition changes its appearance, creating rich, fluid, and layered textures that build up over time.",
  "completion_tokens": 1847,
  "created_utc": "2026-09-16T13:50:56Z",
  "entry_id": 476,
  "executor": "qwen3-coder:30b-a3b-q4_K_M",
  "executor_prompt_version": "executor-v2",
  "gate": [
    {
      "assertions": {
        "motion(idle)": false,
        "responds(drag)": true
      },
      "attempt": 1,
      "checks": {
        "audio_context_running": null,
        "console_clean": true,
        "frame_advancing": true,
        "frame_budget": true,
        "is_looping": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 576,
      "evidence": "gate exit 1: assertions failed: motion(idle)\n\nAssertions that failed:\n- motion(idle): idle 0->120 frames: 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": null,
      "given": null,
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.1,
      "num_ctx": null,
      "preload_s": null,
      "prompt_tokens": 2207,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-1",
      "total_s": 1.384,
      "wall_s": 83.079
    },
    {
      "assertions": {
        "motion(idle)": false,
        "responds(drag)": true
      },
      "attempt": 2,
      "checks": {
        "audio_context_running": null,
        "console_clean": true,
        "frame_advancing": true,
        "frame_budget": true,
        "is_looping": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 574,
      "evidence": "gate exit 1: assertions failed: motion(idle)\n\nAssertions that failed:\n- motion(idle): idle 0->120 frames: 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": null,
      "given": null,
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.1,
      "num_ctx": null,
      "preload_s": null,
      "prompt_tokens": 2324,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-2",
      "total_s": 1.374,
      "wall_s": 46.608
    },
    {
      "assertions": {
        "motion(idle)": false,
        "responds(drag)": true
      },
      "attempt": 3,
      "checks": {
        "audio_context_running": null,
        "console_clean": true,
        "frame_advancing": true,
        "frame_budget": true,
        "is_looping": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 697,
      "evidence": "gate exit 1: assertions failed: motion(idle)\n\nAssertions that failed:\n- motion(idle): idle 0->120 frames: 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": null,
      "given": null,
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.1,
      "num_ctx": null,
      "preload_s": null,
      "prompt_tokens": 2324,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-3",
      "total_s": 1.377,
      "wall_s": 36.027
    }
  ],
  "ghost": {
    "by": "default",
    "events": 30,
    "script": "drag"
  },
  "job_id": 477,
  "last_error": "gate exit 1: assertions failed: motion(idle)",
  "licence": "CC BY 4.0",
  "lineage": {
    "children": [],
    "critique": "the same layered mural, and this time a change in paint viscosity",
    "critique_by": "gemma4:e4b",
    "generation": 1,
    "inherits_source": false,
    "parent_entry_id": 430,
    "root_entry_id": 430
  },
  "loads": [],
  "note": null,
  "off_node": [],
  "planner": "gemma4:e4b",
  "planner_prompt_version": "planner-v1",
  "process": null,
  "prompt": "graffiti app\n\nRevise: the same layered mural, and this time a change in paint viscosity",
  "prompt_tokens": 6855,
  "publish_commit": "3036bfc9133d0aa1ef1589f2c6a64bd5bbeb457c",
  "published_utc": "2026-09-16T17:25:00Z",
  "rules_file": "treatment",
  "seed": 1,
  "shape": "VM.Standard.A1.Flex 16/94",
  "source": {
    "attempts": [
      "attempt-1",
      "attempt-2",
      "attempt-3"
    ],
    "entry": "https://profcarroll.github.io/sketchgen-gallery/e/476/",
    "index_html": "sketch/index.html",
    "repository": "https://github.com/profcarroll/sketchgen-gallery/tree/main/e/476",
    "sketch_js": "sketch/sketch.js"
  },
  "state": "failed-kept",
  "statement": "This sketch creates an interactive mural where users can paint by dragging their cursor across the canvas. The paint behaves like a fluid with viscosity \u2014 particles spread and settle gradually, creating rich, layered textures over time. Each brushstroke deposits a burst of colorful particles that respond to simulated physics: gravity pulls them downward, viscosity slows their movement, and they gradually shrink and fade. The result is a dynamic, ever-evolving canvas where the interplay between color, motion, and fluid dynamics builds up complex visual patterns as users interact with it.",
  "submitted_by": "profcarroll",
  "wall_s": 165.714
}
