{
  "assertions": [
    "motion(idle)",
    "uses(webgl)"
  ],
  "attempts": 3,
  "attribution": "\u201can elevator ride down through the layers of the earth\u201d \u2014 sketchgen entry 1505, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the treatment rules file. https://profcarroll.github.io/sketchgen-gallery/e/1505/ Licensed CC BY 4.0.",
  "brief": "The canvas shows a vibrant, cross-section of the Earth viewed in three dimensions. The camera viewpoint initiates an automatic, smooth descent from the outer crust toward the planet\u2019s core. As the viewpoint passes through different geological layers, the visible cross-section dramatically changes in color and texture, revealing distinct strata. The movement is continuous and guided, illustrating the increasing pressure and temperature down through the mantle and into the core.",
  "completion_tokens": 2566,
  "created_utc": "2026-09-23T17:28:18Z",
  "entry_id": 1505,
  "executor": "qwen3-coder:30b-a3b-q4_K_M",
  "executor_prompt_version": "executor-v3",
  "gate": [
    {
      "assertions": {
        "motion(idle)": true,
        "uses(webgl)": true
      },
      "attempt": 1,
      "checks": {
        "audio_context_running": null,
        "console_clean": true,
        "frame_advancing": true,
        "frame_budget": false,
        "is_looping": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 718,
      "evidence": "Names this sketch shadows (checked before the gate ran):\npreflight: `sphere()` is called inside a loop inside `draw()`, so this sketch builds one lit mesh per item per frame; draw the items as one `beginShape(POINTS)` or build the mesh once in `setup()` with `buildGeometry()` (sketch.js line 50)\n\ngate exit 1: checks failed: frame_budget\n\nFixed checks that failed:\n- frame_budget = false\n    frame_budget: 108.3 ms per frame over the 120-frame idle window, budget 100 ms \u2014 batch points and lines into one shape, no sphere() per particle, no all-pairs loop\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": 40,
        "ms": 4000,
        "played": 40,
        "script": "wander",
        "source": "default"
      },
      "given": null,
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 108.3,
      "num_ctx": 16384,
      "preload_s": 0.048,
      "prompt_tokens": 2388,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-1",
      "total_s": 55.048,
      "wall_s": 49.717
    },
    {
      "assertions": {
        "motion(idle)": false,
        "uses(webgl)": 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": 890,
      "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": {
        "events": 40,
        "ms": 4000,
        "played": 40,
        "script": "wander",
        "source": "default"
      },
      "given": {
        "kind": "previous",
        "lines": 78,
        "sha256": "1725579c57e158fe91f3fe449d376393970684111985ae46aa7558f64bba8c67",
        "shown": true
      },
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 5.3,
      "num_ctx": 16384,
      "preload_s": 0.047,
      "prompt_tokens": 3232,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-2",
      "total_s": 4.364,
      "wall_s": 75.091
    },
    {
      "assertions": {
        "motion(idle)": false,
        "uses(webgl)": 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": 958,
      "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": {
        "events": 40,
        "ms": 4000,
        "played": 40,
        "script": "wander",
        "source": "default"
      },
      "given": {
        "kind": "previous",
        "lines": 99,
        "sha256": "a3b5926491675fe902568c5d35ff62bc9771bcff6fd25c9450cfa70d9e8c4b67",
        "shown": true
      },
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 5.3,
      "num_ctx": 16384,
      "preload_s": 0.047,
      "prompt_tokens": 3315,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-3",
      "total_s": 4.445,
      "wall_s": 80.194
    }
  ],
  "ghost": {
    "by": "default",
    "events": 40,
    "script": "wander"
  },
  "job_id": 1516,
  "last_error": "rejected by operator",
  "licence": "CC BY 4.0",
  "lineage": {
    "children": [],
    "critique": null,
    "critique_by": null,
    "generation": 1,
    "inherits_source": false,
    "parent_entry_id": null,
    "root_entry_id": 1505
  },
  "loads": [],
  "note": null,
  "off_node": [],
  "planner": "gemma4:e4b",
  "planner_prompt_version": "planner-v2",
  "process": null,
  "prompt": "an elevator ride down through the layers of the earth",
  "prompt_tokens": 8935,
  "publish_commit": "fda7ee60f9da9c5739f6c76c16c4a0a335ba5321",
  "published_utc": "2026-09-24T01:15:28Z",
  "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/1505/",
    "index_html": "sketch/index.html",
    "repository": "https://github.com/profcarroll/sketchgen-gallery/tree/main/e/1505",
    "sketch_js": "sketch/sketch.js"
  },
  "state": "rejected",
  "statement": "This sketch presents a dynamic cross-sectional view of Earth's interior,Animating the descent through geological layers from crust to core. The visualization uses layered spherical sections with color gradients representing different rock types and temperatures, creating a vivid portrayal of Earth's internal structure. As the camera smoothly moves downward, viewers witness the transition from cool blue crust through warm red mantle to the glowing hot core. The rotation effect adds depth and dimensionality to the geological cross-section, while subtle particle effects simulate the intense heat and pressure found at Earth's center. The rendering employs WebGL for efficient 3D graphics and maintains a consistent frame rate despite the complex visual elements, ensuring the viewer experiences a continuous, immersive journey through our planet's interior.",
  "submitted_by": "profcarroll",
  "wall_s": 205.002
}
