{
  "assertions": [
    "responds(drag)",
    "motion(idle)"
  ],
  "attempts": 3,
  "attribution": "\u201cgraffiti app\u201d \u2014 sketchgen entry 430, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the treatment rules file. https://profcarroll.github.io/sketchgen-gallery/e/430/ Licensed CC BY 4.0.",
  "brief": "The canvas functions as a large, textured wall surface, allowing the viewer to create layered, overlapping art. As the user drags the mouse across the canvas, colorful paint is applied, leaving behind dynamic strokes and abstract drips. Different hues can be selected and painted onto the surface, allowing for the creation of dense, varied graffiti murals. The resulting work accumulates texture and depth, giving the illusion of physical aerosol paint building up over time. The entire process is focused on recording the user's gestural input into lasting visual form.",
  "completion_tokens": 2009,
  "created_utc": "2026-09-16T06:58:53Z",
  "entry_id": 430,
  "executor": "qwen3-coder:30b-a3b-q4_K_M",
  "executor_prompt_version": "executor-v2",
  "gate": [
    {
      "assertions": {
        "motion(idle)": true,
        "responds(drag)": true
      },
      "attempt": 1,
      "checks": {
        "audio_context_running": null,
        "console_clean": false,
        "frame_advancing": true,
        "frame_budget": true,
        "is_looping": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 646,
      "evidence": "Names this sketch shadows (checked before the gate ran):\npreflight: your variable `stroke` hides p5's `stroke()` function; rename it (sketch.js line 27)\npreflight: your variable `stroke` hides p5's `stroke()` function; rename it (sketch.js line 49)\n\ngate exit 1: checks failed: console_clean\n\nFixed checks that failed:\n- console_clean = false\n\nConsole (8 error lines, first 8 shown):\n- [pageerror] stroke is not a function\n- [pageerror] stroke is not a function\n- [pageerror] stroke is not a function\n- [pageerror] stroke is not a function\n- [pageerror] stroke is not a function\n- [pageerror] stroke is not a function\n- [pageerror] stroke is not a function\n- [pageerror] stroke is not a function\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": 2229,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-1",
      "total_s": 1.369,
      "wall_s": 84.563
    },
    {
      "assertions": {
        "motion(idle)": false,
        "responds(drag)": true
      },
      "attempt": 2,
      "checks": {
        "audio_context_running": null,
        "console_clean": true,
        "frame_advancing": null,
        "frame_budget": true,
        "is_looping": false,
        "sound_lib_ok": null
      },
      "completion_tokens": 709,
      "evidence": "gate exit 1: checks failed: is_looping; assertions failed: motion(idle)\n\nFixed checks that failed:\n- is_looping = false\n    frame_advancing skipped: the sketch calls noLoop(), so it declares itself static (spec 3.1, closes MEASURE[gate-false-negatives])\n\nAssertions that failed:\n- motion(idle): idle 0->120 frames: mean abs diff 0.0000/255, 0 of 1152000 pixels changed\n",
      "exit": 1,
      "ghost": null,
      "given": null,
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.4,
      "num_ctx": null,
      "preload_s": null,
      "prompt_tokens": 2475,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-2",
      "total_s": 1.399,
      "wall_s": 50.56
    },
    {
      "assertions": {
        "motion(idle)": true,
        "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": 654,
      "evidence": null,
      "exit": 0,
      "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": 2352,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-3",
      "total_s": 1.347,
      "wall_s": 45.067
    }
  ],
  "ghost": {
    "by": "default",
    "events": 30,
    "script": "drag"
  },
  "job_id": 431,
  "last_error": null,
  "licence": "CC BY 4.0",
  "lineage": {
    "children": [
      476,
      553
    ],
    "critique": null,
    "critique_by": null,
    "generation": 1,
    "inherits_source": false,
    "parent_entry_id": null,
    "root_entry_id": 430
  },
  "loads": [],
  "note": null,
  "off_node": [],
  "planner": "gemma4:e4b",
  "planner_prompt_version": "planner-v1",
  "process": null,
  "prompt": "graffiti app",
  "prompt_tokens": 7056,
  "publish_commit": "5d10ef343939d735619baeb7fd64a5a8ec58da88",
  "published_utc": "2026-09-16T13:42:03Z",
  "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/430/",
    "index_html": "sketch/index.html",
    "repository": "https://github.com/profcarroll/sketchgen-gallery/tree/main/e/430",
    "sketch_js": "sketch/sketch.js"
  },
  "state": "published",
  "statement": "This sketch creates an interactive painting environment that responds to mouse gestures with layered, textured strokes. As users drag their mouse across the canvas, colorful paint is applied in dynamic, gestural marks that accumulate over time. The system captures the fluid motion of drawing and translates it into a rich visual texture, mimicking the build-up of physical paint. The work demonstrates how digital media can emulate traditional artistic processes through responsive interaction and layered visual feedback, creating an evolving mural-like composition from simple mouse movements.",
  "submitted_by": "profcarroll",
  "wall_s": 180.19
}
