[
  {
    "id": "codrops-eecfba24b649-article-0",
    "source": "motion/interaction-recipes.md",
    "anchor": "scene-composition-contract",
    "sourceSha256": "9f065be929f4ad34b867ae7666943aafb99c70ce7022787e935a0f869798f7b2",
    "title": "16 / Layered three-scene story · renderMoonStory",
    "principle": "One normalized document progress value drives layer opacity, camera-like scale and chapter selection, without hiding essential controls inside fading panels.",
    "application": "A single progress evaluator blends an original SVG globe, atmospheric depth layers and an observatory interior. Document-owned scroll maps to bounded scale, translation and opacity; chapter availability changes immediately at explicit boundaries. Native view inputs replace pointer parallax and the static path exposes every chapter in ordinary flow. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-eecfba24b649/script.js",
        "symbol": "renderMoonStory",
        "explanation": "The named local function implements this mechanism in the downloadable standalone page; its source hash is listed in codeFiles."
      }
    ],
    "checks": [
      {
        "id": "codrops-eecfba24b649-renderMoonStory",
        "action": "Visit all three chapter buttons, reverse, then use Reading view.",
        "expected": "The same progress reconstructs the same composition; Reading view exposes every chapter in order without the scroll track."
      }
    ],
    "runtime_verified": false
  },
  {
    "id": "codrops-eecfba24b649-article-1",
    "source": "motion/accessible-motion.md",
    "anchor": "classify-before-replacing",
    "sourceSha256": "db0ad692d5bb3103a3cbe13ec08dbe5cf12552aed7ecf2c93b1d7cc0b8a34b8b",
    "title": "16 / Layered three-scene story · mountStory",
    "principle": "The reduced-motion path replaces the zooming scene with three ordinary sections and independent illustrations.",
    "application": "A single progress evaluator blends an original SVG globe, atmospheric depth layers and an observatory interior. Document-owned scroll maps to bounded scale, translation and opacity; chapter availability changes immediately at explicit boundaries. Native view inputs replace pointer parallax and the static path exposes every chapter in ordinary flow. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-eecfba24b649/script.js",
        "symbol": "mountStory",
        "explanation": "The named local function implements this mechanism in the downloadable standalone page; its source hash is listed in codeFiles."
      }
    ],
    "checks": [
      {
        "id": "codrops-eecfba24b649-mountStory",
        "action": "Load with reduced motion or enable Static view halfway through the story.",
        "expected": "All chapter text and static illustrations appear in document flow, with no need to reach an intermediate zoom frame."
      }
    ],
    "runtime_verified": false
  },
  {
    "id": "codrops-eecfba24b649-article-2",
    "source": "motion/accessible-motion.md",
    "anchor": "preference-changes-during-work",
    "sourceSha256": "db0ad692d5bb3103a3cbe13ec08dbe5cf12552aed7ecf2c93b1d7cc0b8a34b8b",
    "title": "16 / Layered three-scene story · applyMotionPreference",
    "principle": "One effective preference owns CSS and script playback. The initial view is stationary, and manual controls retain the study values.",
    "application": "A single progress evaluator blends an original SVG globe, atmospheric depth layers and an observatory interior. Document-owned scroll maps to bounded scale, translation and opacity; chapter availability changes immediately at explicit boundaries. Native view inputs replace pointer parallax and the static path exposes every chapter in ordinary flow. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-eecfba24b649/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-eecfba24b649-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
  }
]
