{
  "assertions": [
    "motion(idle)",
    "uses(webgl)"
  ],
  "attempts": 2,
  "attribution": "\u201ctake the viewer inside a combustion engine demonstrating pistons and\u2026\u201d \u2014 sketchgen entry 1201, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the control rules file. https://profcarroll.github.io/sketchgen-gallery/e/1201/ Licensed CC BY 4.0.",
  "brief": "The canvas presents a detailed, three-dimensional, cutaway view of a running internal combustion engine. The visualization showcases the core mechanical components: pistons moving within cylinders, connecting rods linking to a spinning crankshaft, and the synchronized action of a camshaft. The primary focus is the highly visible timing chain, which continuously links the rotating crankshaft to the camshaft, demonstrating the precise, mechanical movement essential for the engine's operation.",
  "completion_tokens": 1829,
  "created_utc": "2026-09-20T22:50:23Z",
  "entry_id": 1201,
  "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": false,
        "frame_advancing": true,
        "frame_budget": true,
        "is_looping": true,
        "sound_lib_ok": null
      },
      "completion_tokens": 885,
      "evidence": "gate exit 1: checks failed: console_clean\n\nFixed checks that failed:\n- console_clean = false\n\nConsole (1 error line, first 1 shown):\n- [pageerror] userStartAudio is not defined\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": 3.7,
      "num_ctx": null,
      "preload_s": null,
      "prompt_tokens": 1714,
      "resources_loaded": [],
      "rules_file": "control",
      "source": "attempt-1",
      "total_s": 2.226,
      "wall_s": 92.089
    },
    {
      "assertions": {
        "motion(idle)": true,
        "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": 944,
      "evidence": null,
      "exit": 0,
      "ghost": null,
      "given": null,
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 7.6,
      "num_ctx": null,
      "preload_s": null,
      "prompt_tokens": 1817,
      "resources_loaded": [],
      "rules_file": "control",
      "source": "attempt-2",
      "total_s": 3.714,
      "wall_s": 59.943
    }
  ],
  "ghost": {
    "by": "default",
    "events": 40,
    "script": "wander"
  },
  "job_id": 1205,
  "last_error": null,
  "licence": "CC BY 4.0",
  "lineage": {
    "children": [
      1228
    ],
    "critique": "the same dynamic, three-dimensional cross-section cutaway of a running internal combustion engine, and this time the visible timing chain linking the crankshaft to the camshaft is clearly highlighted.",
    "critique_by": "gemma4:e4b",
    "generation": 14,
    "inherits_source": false,
    "parent_entry_id": 1168,
    "root_entry_id": 422
  },
  "loads": [],
  "note": null,
  "off_node": [],
  "planner": "gemma4:e4b",
  "planner_prompt_version": "planner-v1",
  "process": null,
  "prompt": "take the viewer inside a combustion engine demonstrating pistons and gearing\n\nRevise: we should see pistons moving up and down inside a cylinder and a spark explosion pushes the piston down which turns a transaxle connected to a gear\n\nRevise: the same cross-section of a combustion engine's core mechanisms, and this time the connection between the pistons and the rods is more visible\n\nRevise: the same dynamic, cross-sectional view of a combustion engine's core mechanisms, and this time the intake and exhaust of the cylinders are visually represented with colored fluid flow.\n\nRevise: the same dynamic, cross-sectional cutaway of a running combustion engine, and this time the intake and exhaust valves are visibly actuated and timed with the movement of the connecting rods.\n\nRevise: the same dynamic, cross-sectional view of a combustion engine's core mechanisms, and this time the connecting rods visibly rotating a crankshaft.\n\nRevise: the same dynamic, cutaway cross-section of a running combustion engine, and this time the connecting rods visibly articulating at their bearing points on the crankshaft.\n\nRevise: the same dynamic, three-dimensional cross-section of a running combustion engine, and this time the articulation points where the connecting rods bear on the crankshaft are clearly visible.\n\nRevise: the same dynamic, cross-sectional cutaway view of a running combustion engine, and this time the intake and exhaust are represented by clearly visible, timed colored fluid flows.\n\nRevise: the same dynamic, cutaway cross-section of a running combustion engine, and this time the visible timing gear train linking the crankshaft and the valves is demonstrated.\n\nRevise: the same dynamic, cutaway cross-section of a running combustion engine, and this time the individual components of the valve train are clearly separated and visible.\n\nRevise: the same dynamic, cross-sectional cutaway view of a running internal combustion engine, and this time the rapid, expanding combustion gases inside the cylinder are visually demonstrated, pushing the piston downward.\n\nRevise: the same dynamic, cutaway cross-section view of a running internal combustion engine, and this time the opening and closing of the intake and exhaust valves are clearly timed with the piston's position.\n\nRevise: the same dynamic, cross-sectional cutaway of a running internal combustion engine, and this time the rapid, expanding combustion gases inside the cylinder are visually demonstrated, pushing the piston downward.\n\nRevise: the same dynamic, three-dimensional cross-section cutaway of a running internal combustion engine, and this time the visible timing chain linking the crankshaft to the camshaft is clearly highlighted.",
  "prompt_tokens": 3531,
  "publish_commit": "586b61eca746834540f68550ea4c93d62a12a066",
  "published_utc": "2026-09-21T00:17:46Z",
  "rules_file": "control",
  "seed": 1,
  "shape": "aarch64 16/94",
  "source": {
    "attempts": [
      "attempt-1",
      "attempt-2"
    ],
    "entry": "https://profcarroll.github.io/sketchgen-gallery/e/1201/",
    "index_html": "sketch/index.html",
    "repository": "https://github.com/profcarroll/sketchgen-gallery/tree/main/e/1201",
    "sketch_js": "sketch/sketch.js"
  },
  "state": "published",
  "statement": "This sketch visualizes a detailed, cutaway view of an internal combustion engine using p5.js's WEBGL renderer to create a three-dimensional perspective. The engine shows synchronized mechanical movement with pistons oscillating within cylinders, connecting rods linking to a rotating crankshaft, and a camshaft driving the timing chain. The visualization demonstrates how these components work together in precise synchronization, with the timing chain continuously linking the crankshaft to the camshaft to maintain proper engine timing. The viewer observes a mechanical dance of moving parts that illustrates the fundamental principles of how internal combustion engines operate, with each component positioned and animated to show their interdependent motion within the engine's functional architecture.",
  "submitted_by": "profcarroll",
  "wall_s": 152.032
}
