{
  "assertions": [
    "no_motion",
    "responds(click)",
    "responds(drag)"
  ],
  "attempts": 2,
  "attribution": "\u201cmandelbrot fractal\u201d \u2014 sketchgen entry 2010, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the treatment rules file. https://profcarroll.github.io/sketchgen-gallery/e/2010/ Licensed CC BY 4.0.",
  "brief": "A vibrant Mandelbrot fractal fills the canvas with intricate, swirling patterns and deep color gradients. The visual displays the complex boundary of the set, where infinite detail emerges from mathematical iterations. Clicking on any part of the image zooms into that specific coordinate to reveal deeper structures, while dragging the mouse pans the view to explore different regions of the fractal.",
  "completion_tokens": 1654,
  "created_utc": "2026-10-12T01:58:53Z",
  "entry_id": 2010,
  "executor": "qwen3-coder:30b-a3b-q4_K_M",
  "executor_prompt_version": "executor-v3",
  "gate": [
    {
      "assertions": {
        "no_motion": true,
        "responds(click)": false,
        "responds(drag)": false
      },
      "attempt": 1,
      "checks": {
        "audio_context_running": null,
        "console_clean": false,
        "frame_advancing": false,
        "frame_budget": true,
        "is_looping": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 835,
      "evidence": "Names this sketch shadows (checked before the gate ran):\npreflight: your variable `color` hides p5's `color()` function; rename it (sketch.js line 52)\n\ngate exit 1: checks failed: console_clean, frame_advancing; assertions failed: responds(click), responds(drag)\n\nFixed checks that failed:\n- console_clean = false\n- frame_advancing = false\n    frame_advancing compares frameCount at frame 84 of the 120-frame idle window (0) with the end of it (0); at load it was 0\n\nAssertions that failed:\n- responds(click): click at canvas centre, 30 frames after: mean abs diff 0.0000/255, 0 of 1152000 pixels changed\n- responds(drag): drag across 20%->80% of the canvas width: mean abs diff 0.0000/255, 0 of 1152000 pixels changed\n\nConsole (11 error lines, first 10 shown):\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n- [pageerror] Cannot access 'color' before initialization\n\nRuntime state the gate read:\n- frame_advancing compares frameCount at frame 84 of the 120-frame idle window (0) with the end of it (0); at load it was 0\n",
      "exit": 1,
      "ghost": {
        "events": 46,
        "ms": 6840,
        "played": 46,
        "script": "click,drag",
        "source": "default"
      },
      "given": null,
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.1,
      "num_ctx": 16384,
      "preload_s": 0.026,
      "prompt_tokens": 2556,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-1",
      "total_s": 16.361,
      "wall_s": 75.866
    },
    {
      "assertions": {
        "no_motion": true,
        "responds(click)": true,
        "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": 819,
      "evidence": null,
      "exit": 0,
      "ghost": {
        "events": 46,
        "ms": 6840,
        "played": 46,
        "script": "click,drag",
        "source": "default"
      },
      "given": {
        "kind": "previous",
        "lines": 87,
        "sha256": "8fd5429073861fc2f198ec0264a5a6ce8ead68f986494b6a2a08711bd0298bff",
        "shown": true
      },
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.2,
      "num_ctx": 16384,
      "preload_s": 0.027,
      "prompt_tokens": 3716,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-2",
      "total_s": 20.886,
      "wall_s": 85.014
    }
  ],
  "ghost": {
    "by": "default",
    "events": 46,
    "script": "click,drag"
  },
  "job_id": 2024,
  "last_error": null,
  "licence": "CC BY 4.0",
  "lineage": {
    "children": [],
    "critique": null,
    "critique_by": null,
    "generation": 1,
    "inherits_source": false,
    "parent_entry_id": null,
    "root_entry_id": 2010
  },
  "loads": [],
  "note": null,
  "off_node": [],
  "planner": "gemma4:26b",
  "planner_prompt_version": "planner-v2",
  "process": null,
  "prompt": "mandelbrot fractal",
  "prompt_tokens": 6272,
  "publish_commit": "57f6749ccceeef4b2817ee8b7e70b3f4147be213",
  "published_utc": "2026-10-14T16:58:52Z",
  "rules_file": "treatment",
  "seed": 1,
  "shape": "VM.Standard.A1.Flex 16/96",
  "source": {
    "attempts": [
      "attempt-1",
      "attempt-2"
    ],
    "entry": "https://profcarroll.github.io/sketchgen-gallery/e/2010/",
    "index_html": "sketch/index.html",
    "repository": "https://github.com/profcarroll/sketchgen-gallery/tree/main/e/2010",
    "sketch_js": "sketch/sketch.js"
  },
  "state": "published",
  "statement": "This sketch renders the Mandelbrot fractal, a mathematically infinite and infinitely detailed pattern that emerges from a simple iterative equation. The visualization fills the entire canvas with swirling, colorful regions that reveal ever more complexity at every zoom level. Users can click anywhere to zoom into that coordinate, or drag to pan across different parts of the fractal landscape. The rendering uses a classic escape-time algorithm to color each pixel based on how quickly its corresponding complex number escapes to infinity, creating vibrant gradients that highlight the fractal's boundary structure.",
  "submitted_by": "profcarroll",
  "wall_s": 160.88
}
