{ "id": "gsap-160507325ef2", "sourceId": "gsap", "title": "FLIP gallery modal", "sourceUrl": "https://demos.gsap.com/demo/flip-gallery-modal", "demoUrl": "https://codepen.io/GreenSock/pen/XWOeLEb", "sourceStatus": "unresolved", "sourceReason": "Public page unavailable through web browsing", "sourceRevision": null, "sourceLicense": null, "originalDemoAcquired": false, "disposition": "ready_for_independent_study", "evidenceBasis": "exact_same_original_pen_as_catalog_row_with_explicit_api_link", "studyId": "gsap-988440b33c85", "sharedStudyCanonicalId": "gsap-988440b33c85", "label": "Independently authored documentation study; original Pen unavailable", "catalogEvidence": { "localPath": "artifacts/full-import/gsap/remaining-docs/catalog-evidence.json", "sha256": "4f2a4f9aa64456b85b905b562b60d7733629b41026787b3057cba29e8b10de69", "bytes": 30117, "recordId": "gsap-160507325ef2" }, "sourceInputs": [ { "kind": "authored-study-specification", "localPath": "artifacts/full-import/gsap/remaining-docs/study-specs.json", "sha256": "cbb89331eda8783b5cf2f173b326b9195eeabfb223374fb60019161d9f46d4a6", "bytes": 52279, "recordId": "gsap-160507325ef2" }, { "kind": "official-catalog-metadata", "localPath": "artifacts/full-import/gsap/remaining-docs/catalog-evidence.json", "sha256": "4f2a4f9aa64456b85b905b562b60d7733629b41026787b3057cba29e8b10de69", "bytes": 30117, "recordId": "gsap-160507325ef2" }, { "kind": "official-documentation-evidence", "localPath": "artifacts/full-import/gsap/remaining-docs/official-documentation-evidence.json", "sha256": "bfa25f561e61c597569cf1bc0b3538e6dce4b9985a932775ceab41e665ca24a2", "bytes": 11430, "recordIds": [ "flip-state", "flip" ] }, { "kind": "original-library-source", "localPath": "artifacts/full-import/gsap/library/src/Flip.js", "sha256": "02d87b469498badf49957f4e8ad0d1b5eb9689742cb4bdb06e2c7dc53554d918", "gitBlob": "7e7a3d988fde077ed173e01a54e6c74ed8e38156", "revision": "13e2b790546426a1a2e0e9b409f3f8dc6d6611f2", "sourcePath": "src/Flip.js", "ranges": [ { "id": "flip-state-from", "startLine": 952, "endLine": 966, "rangeSha256": "47528e5c46b86a139a4deccf9b1df4698fe2e47b206c94536bc8099f68a5aa5e" } ] } ], "studiedPrinciple": "Share the independently authored capture-change-animate gallery study with Simple Grid FLIP Modal. Both original catalog rows point to XWOeLEb; this is an exact URL alias, not a title-based guess.", "namedApis": [ { "name": "Flip.getState(tile), Flip.from(state)", "purpose": "Use the same API study as the canonical gsap-988440b33c85 brief.", "libraryEvidence": [ "flip-state-from" ], "documentationEvidence": [ "flip-state", "flip" ] } ], "implementationBrief": { "scene": "Use the canonical gsap-988440b33c85 authored gallery-to-dialog scene and preserve this second original ID as an alias.", "controls": [ { "label": "Open tile", "type": "button", "action": "Follow the canonical modal opening contract." }, { "label": "Close", "type": "button", "action": "Follow the canonical capture-before-restore contract and return focus." }, { "label": "Static view", "type": "toggle", "action": "Use the canonical nonanimated dialog path." } ], "mechanismSteps": [ "Read the complete canonical record gsap-988440b33c85 before implementation.", "Verify both catalog evidence records have demoUrl https://codepen.io/GreenSock/pen/XWOeLEb.", "Implement or reuse the one canonical independent study, map both original IDs to it, and label both as independent documentation studies.", "Do not claim that the two original titles represent two independently observed animations." ] }, "authoredDefaults": { "inheritFromStudyId": "gsap-988440b33c85", "independentCodeCopiesRequired": false }, "verificationRequired": [ "Both original IDs resolve to the same runnable study without one disappearing from the catalog.", "The canonical modal behavioral checks pass for this alias route too.", "The alias retains its original title/source URL and declares that its implementation is a shared independent study." ], "unsupportedClaims": [ "Original composition, assets, timing, breakpoint behavior, and live interaction are not observable in captured frames. This brief does not establish visual fidelity or recover original code.", "This row has no body or API links itself. Its API association comes from the exact same original Pen on gsap-988440b33c85, which explicitly links Flip.getState.", "Distinct original visuals or behavior between the two catalog routes have not been observed." ], "dependencies": { "package": "gsap", "version": "3.15.0", "revision": "13e2b790546426a1a2e0e9b409f3f8dc6d6611f2", "repository": "https://github.com/greensock/GSAP", "plugins": [ "Flip" ], "registration": "gsap.registerPlugin(Flip) after loading core and those plugin scripts", "runtimeCandidates": [ { "path": "dist/gsap.js", "localPath": "artifacts/full-import/gsap/library/dist/gsap.js", "gitBlob": "ec5ffee3f099bc454f2f1c79cee6a55ba97e7400", "sha256": "01effe0e121c22ba0f885a3f091f3dc6d1f0d445c4fba37dcb298e314eca5cfb", "bytes": 179557 }, { "path": "dist/Flip.js", "localPath": "artifacts/full-import/gsap/library/dist/Flip.js", "gitBlob": "6a3aa6c954b0020706dcd9764e88e9ef739bd2c7", "sha256": "3c732c2ab4b5bcaf1b9835b1722376019b743f7641280acc342040623b248d75", "bytes": 54494 } ], "license": { "name": "GSAP Standard 'No Charge' License (custom, not MIT)", "localPath": "artifacts/full-import/gsap/licenses/gsap-standard-license.html", "sha256": "bf8536e67b77db780f7db0c14a645f184f554bb19e938d1e52d58986e2f10528", "bytes": 6988, "url": "https://gsap.com/community/standard-license/" }, "originalDependencyVersionKnown": false }, "runtimeVerified": false, "implementationWritten": false }