{
  "assertions": [
    "motion(idle)",
    "responds(drag)"
  ],
  "attempts": 2,
  "attribution": "\u201ca fun cursor follow toy Revise: the same particle system, and this ti\u2026\u201d \u2014 sketchgen entry 880, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the treatment rules file. https://profcarroll.github.io/sketchgen-gallery/e/880/ Licensed CC BY 4.0.",
  "brief": "As the viewer moves the cursor across the canvas, a beautiful, dynamic, and ephemeral trail of particles is created. These particles emerge in a vivid, bright primary color, growing noticeably larger and temporary forming a distinct ring shape before fading. As they dissipate, their color softly transitions into a pastel shade. The wake leaves behind a smoky, transparent afterglow that fades slowly, providing a persistent memory of the movement. Furthermore, the entire background environment animates in response to the cursor's motion, making the wake appear to interact dynamically with the scene itself.",
  "completion_tokens": 1973,
  "created_utc": "2026-09-18T16:15:10Z",
  "entry_id": 880,
  "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": 1138,
      "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.8,
      "num_ctx": null,
      "preload_s": null,
      "prompt_tokens": 2235,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-1",
      "total_s": 1.507,
      "wall_s": 71.336
    },
    {
      "assertions": {
        "motion(idle)": 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": 835,
      "evidence": null,
      "exit": 0,
      "ghost": null,
      "given": null,
      "model": "qwen3-coder:30b-a3b-q4_K_M",
      "ms_per_frame": 0.3,
      "num_ctx": null,
      "preload_s": null,
      "prompt_tokens": 2352,
      "resources_loaded": [],
      "rules_file": "treatment",
      "source": "attempt-2",
      "total_s": 1.489,
      "wall_s": 55.916
    }
  ],
  "ghost": {
    "by": "default",
    "events": 30,
    "script": "drag"
  },
  "job_id": 881,
  "last_error": null,
  "licence": "CC BY 4.0",
  "lineage": {
    "children": [
      938
    ],
    "critique": "animate the background so that the cursor toy interacts with it as it moves",
    "critique_by": "profcarroll",
    "generation": 6,
    "inherits_source": false,
    "parent_entry_id": 864,
    "root_entry_id": 543
  },
  "loads": [],
  "note": null,
  "off_node": [
    {
      "model": "profcarroll",
      "step": "critic"
    }
  ],
  "planner": "gemma4:e4b",
  "planner_prompt_version": "planner-v1",
  "process": null,
  "prompt": "a fun cursor follow toy\n\nRevise: the same particle system, and this time the particles organize into a visible, dissipating wake directly trailing the cursor.\n\nRevise: the same particle system, and this time the particles change color from a bright primary hue at the cursor to a soft pastel shade before fully fading.\n\nRevise: the same dynamic and ephemeral wake of particles, and this time the particles grow noticeably larger in size from the moment of creation until they fully fade away.\n\nRevise: the same dynamic, dissipating trail of particles, and this time the particles momentarily form a noticeable ring shape upon reaching peak size.\n\nRevise: the same visible, dynamic wake of dissipating particles, and this time the particles leave behind a smoky, transparent afterglow that fades slightly slower than the particles themselves.\n\nRevise: animate the background so that the cursor toy interacts with it as it moves",
  "prompt_tokens": 4587,
  "publish_commit": "db0e68d3ab493f165de691ea3dc4135e431557e1",
  "published_utc": "2026-09-18T16:43:15Z",
  "rules_file": "treatment",
  "seed": 1,
  "shape": "VM.Standard.A1.Flex 16/94",
  "source": {
    "attempts": [
      "attempt-1",
      "attempt-2"
    ],
    "entry": "https://profcarroll.github.io/sketchgen-gallery/e/880/",
    "index_html": "sketch/index.html",
    "repository": "https://github.com/profcarroll/sketchgen-gallery/tree/main/e/880",
    "sketch_js": "sketch/sketch.js"
  },
  "state": "published",
  "statement": "This sketch creates an interactive particle system that responds to cursor movement with vibrant, glowing effects. As the viewer moves their mouse, particles emerge in bright primary colors, expand into ring shapes, and gradually fade while transitioning to softer pastel tones. The system generates a persistent trail behind the cursor, composed of fading circles that leave a lingering afterglow. The background subtly animates in response to mouse position, creating a dynamic environment where the particle effects appear to interact with the scene itself. The implementation uses efficient particle management and color transitions to create a visually rich experience without performance overhead.",
  "submitted_by": "profcarroll",
  "wall_s": 127.252
}
