[
  {
    "id": "codrops-8cdc1370131e-article-0",
    "source": "motion/interaction-recipes.md",
    "anchor": "scene-composition-contract",
    "sourceSha256": "9f065be929f4ad34b867ae7666943aafb99c70ce7022787e935a0f869798f7b2",
    "title": "05 / Persistent terrain scene · renderTerrain",
    "principle": "Camera and chapter state are projections of current document progress; the terrain surface persists across all three chapters.",
    "application": "One persistent Canvas 2D surface projects an independently generated elevation grid. Elevation bands, approximate surface hillshade and a snow threshold are derived during drawing. Document progress selects camera and chapter state; the renderer is never remounted. This isolates terrain presentation and lifecycle principles without an actual DEM, glTF or Webflow integration. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-8cdc1370131e/script.js",
        "symbol": "renderTerrain",
        "explanation": "The named local function implements this mechanism in the downloadable standalone page; its source hash is listed in codeFiles."
      }
    ],
    "checks": [
      {
        "id": "codrops-8cdc1370131e-renderTerrain",
        "action": "Visit progress 0, 50, 100, 50, 0 using chapter buttons and ordinary scrolling.",
        "expected": "The same progress and contour/snow inputs reconstruct the same terrain view, with no new renderer or callback-history scene state."
      }
    ],
    "runtime_verified": false
  },
  {
    "id": "codrops-8cdc1370131e-article-1",
    "source": "motion/rendering-and-performance.md",
    "anchor": "a-diagnostic-sequence",
    "sourceSha256": "1523fdeaa290fa064c4db17d36040de3f35ad39bb18a37517ceb5995f97d1dfd",
    "title": "05 / Persistent terrain scene · elevation",
    "principle": "The generated elevation function, contour frequency and snow threshold expose separate causes of visual change.",
    "application": "One persistent Canvas 2D surface projects an independently generated elevation grid. Elevation bands, approximate surface hillshade and a snow threshold are derived during drawing. Document progress selects camera and chapter state; the renderer is never remounted. This isolates terrain presentation and lifecycle principles without an actual DEM, glTF or Webflow integration. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-8cdc1370131e/script.js",
        "symbol": "elevation",
        "explanation": "The named local function implements this mechanism in the downloadable standalone page; its source hash is listed in codeFiles."
      }
    ],
    "checks": [
      {
        "id": "codrops-8cdc1370131e-elevation",
        "action": "Keep progress fixed, vary contour interval and then the snow line.",
        "expected": "Band density and snow coverage change independently on the same non-geographic surface."
      }
    ],
    "runtime_verified": false
  },
  {
    "id": "codrops-8cdc1370131e-article-2",
    "source": "motion/accessible-motion.md",
    "anchor": "preference-changes-during-work",
    "sourceSha256": "db0ad692d5bb3103a3cbe13ec08dbe5cf12552aed7ecf2c93b1d7cc0b8a34b8b",
    "title": "05 / Persistent terrain scene · applyMotionPreference",
    "principle": "One effective preference owns CSS and script playback. The initial view is stationary, and manual controls retain the study values.",
    "application": "One persistent Canvas 2D surface projects an independently generated elevation grid. Elevation bands, approximate surface hillshade and a snow threshold are derived during drawing. Document progress selects camera and chapter state; the renderer is never remounted. This isolates terrain presentation and lifecycle principles without an actual DEM, glTF or Webflow integration. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-8cdc1370131e/script.js",
        "symbol": "applyMotionPreference",
        "explanation": "The named local function implements this mechanism in the downloadable standalone page; its source hash is listed in codeFiles."
      }
    ],
    "checks": [
      {
        "id": "codrops-8cdc1370131e-applyMotionPreference",
        "action": "Enable Static view during playback, then adjust the visible native controls.",
        "expected": "Playback stops, its button is disabled while the preference applies, and the current values remain inspectable without continuous motion."
      }
    ],
    "runtime_verified": false
  }
]
