{
  "contract": "tessli.public-source.v2",
  "canonicalPath": "/resources/theatre-js",
  "representations": {
    "json": "/resources/theatre-js/profile.json",
    "markdown": "/resources/theatre-js/profile.md"
  },
  "source": {
    "id": "resource-e0917de2c7a9",
    "slug": "theatre-js",
    "name": "Theatre.js",
    "purpose": "Motion-design and animation tooling for the web",
    "providerUrl": "https://www.theatrejs.com",
    "category": "motion-3d",
    "sourceType": "creative-technology-resource",
    "profileLevel": "profiled",
    "useWhen": [
      "authored-motion-sequencing",
      "web-scene-animation",
      "designer-developer-motion-handoff"
    ],
    "whatToExplore": [
      "visual-animation-authoring",
      "timeline-sequencing",
      "scene-animation",
      "tool",
      "code",
      "motion-example",
      "documentation"
    ],
    "accessRoutes": [
      {
        "kind": "browser",
        "preferred": true,
        "auth": "unknown",
        "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
        "url": "https://www.theatrejs.com"
      }
    ],
    "importantLimitations": [
      "The editor and runtime add workflow and state-management complexity beyond simple transitions.",
      "Project state and authored assets require explicit source-control and deployment decisions.",
      "Production accessibility, performance, and reduced-motion behavior remain application responsibilities."
    ],
    "alternatives": [
      {
        "slug": "anime-js",
        "name": "Anime.js",
        "canonicalPath": "/resources/anime-js",
        "providerUrl": "https://animejs.com",
        "differentiator": "Recorded task fit: Targeted Interface Animation."
      },
      {
        "slug": "autoanimate",
        "name": "AutoAnimate",
        "canonicalPath": "/resources/autoanimate",
        "providerUrl": "https://auto-animate.formkit.com",
        "differentiator": "Recorded task fit: Automatic List Transitions."
      }
    ]
  },
  "diagnostics": {
    "coverage": {
      "level": "profiled",
      "profileStatus": "needs-review",
      "recordedVerifiedAt": "2026-08-05",
      "confidence": "certain",
      "freshnessStatus": "current"
    },
    "evidenceCount": 2,
    "governance": {
      "defaultPersistence": "persistent",
      "assetRedistribution": "allowed",
      "sourceAttribution": "recommended",
      "userCredentialRequired": false,
      "termsReviewRequired": true
    }
  },
  "boundaries": [
    "Repository intelligence is not live-provider verification.",
    "Revalidate provider access, pricing, licensing, terms, availability, and time-sensitive claims.",
    "Tessli classifications are research guidance, not provider claims or universal rankings.",
    "No browser-local Board, Saved, account, cookie, or credential data is included."
  ]
}
