[
  {
    "id": "codrops-d715f5f9c606-article-0",
    "source": "motion/interruption-and-retargeting.md",
    "anchor": "reusable-method",
    "sourceSha256": "8b733e239fa3a1b2472b14bd2c1dbbdb7ea19b32e085e3cf3be148f001ccb2ea",
    "title": "01 / Text & particle timing · renderTypography",
    "principle": "The speed target changes while the same phase owner continues; easing the rate avoids replacing the character timeline.",
    "application": "A local timeline assigns independent character offsets, cyclic colors and directions, seeded repeat-refresh particles, and a smoothed playback rate. Line and character clipping can be compared without a text-animation library. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-d715f5f9c606/script.js",
        "symbol": "renderTypography",
        "explanation": "The named local function implements this mechanism in the downloadable standalone page; its source hash is listed in codeFiles."
      }
    ],
    "checks": [
      {
        "id": "codrops-d715f5f9c606-renderTypography-binding-0",
        "action": "Change speed from 1 to 0 during playback, then return to 1.",
        "expected": "The existing phase slows, stops and resumes without rebuilding the text unless the heading or mask changes."
      }
    ],
    "runtime_verified": false
  },
  {
    "id": "codrops-d715f5f9c606-article-1",
    "source": "design-engineering/component-contract.md",
    "anchor": "contract-template",
    "sourceSha256": "79e496160e28ab26397d2c5b68075fd14c732d13002ff6c6e41c031d86cac039",
    "title": "01 / Text & particle timing · renderTypography",
    "principle": "The editable heading owns semantic text; decorative character spans are hidden from accessibility APIs.",
    "application": "A local timeline assigns independent character offsets, cyclic colors and directions, seeded repeat-refresh particles, and a smoothed playback rate. Line and character clipping can be compared without a text-animation library. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-d715f5f9c606/script.js",
        "symbol": "renderTypography",
        "explanation": "The named local function implements this mechanism in the downloadable standalone page; its source hash is listed in codeFiles."
      }
    ],
    "checks": [
      {
        "id": "codrops-d715f5f9c606-renderTypography-binding-1",
        "action": "Change the text, mask owner and stagger origin; inspect the heading accessible name.",
        "expected": "The complete entered text remains one accessible phrase while wrapper count changes."
      }
    ],
    "runtime_verified": false
  },
  {
    "id": "codrops-d715f5f9c606-article-2",
    "source": "motion/accessible-motion.md",
    "anchor": "preference-changes-during-work",
    "sourceSha256": "db0ad692d5bb3103a3cbe13ec08dbe5cf12552aed7ecf2c93b1d7cc0b8a34b8b",
    "title": "01 / Text & particle timing · applyMotionPreference",
    "principle": "One effective preference owns CSS and script playback. The initial view is stationary, and manual controls retain the study values.",
    "application": "A local timeline assigns independent character offsets, cyclic colors and directions, seeded repeat-refresh particles, and a smoothed playback rate. Line and character clipping can be compared without a text-animation library. This binding describes the authored study and does not verify the original project.",
    "code": [
      {
        "file": "vendor/codrops-article-studies/records/codrops-d715f5f9c606/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-d715f5f9c606-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
  }
]
