odysseeclinic.com.au
RunningEvidence & comparison
Follow recorded observations through implementation, build and independent verification.
Verification scope
Earlier revisionSimilarity measures visual closeness. Verification applies only to the recorded inputs, sampled times and viewport sizes in revision 23.
- Reference evidence
- 0 of 11 observations match independent live captures · 0 differ · 11 not validated
- Replica checks
- 0 of 11 observations pass their recorded checks · 11 have measured differences or errors · motion could not be scored for 8
- Coverage
- 905 unresolved actions · 0 observations not compared · 24 recorded limitations. Unobserved interactions and other viewport sizes remain outside this result.
Behavior coverage
0 of 5 analyzed behaviors pass all their recorded checks · 0 have measured differences · 88 source obligations remain unresolved. Code mappings are implementation claims. Passing checks cover only their recorded conditions, inputs and sampled times.
0/1 reference calibration attempts produced repeatable evidence · 1 minutes in completed unverified reference attempts · No calibrated feature comparison yet
Read the recorded behavior analysisInside a useEffect registered at 5507a64ebc1f950af553:4036:7035 (module 26dfe60eaada7f805c6d69bcdcecd851:0), the callback at 4048:6975 creates an IntersectionObserver with rootMargin "0px" and 101 thresholds (Array.from length 101, t/100). It observes every existing [data-slice-key] element found by document.querySelectorAll. Each intersection entry whose target has a dataset.sliceKey is stored in aRef.current keyed by that slice key, then s() is invoked. A MutationObserver on document.body (childList, subtree) observes newly added [data-slice-key] elements and removes their keys from aRef.current when they are removed, calling s() if any key was removed. The effect cleanup disconnects both observers. Source-level only; runtime execution is unverified.
Next: Plan an applicable input history and assertions
0/0 assertions calibrated · 0 unchanged mappings retained
Targets: [data-slice-key]
- On effect run, IntersectionObserver is created with rootMargin 0px and threshold array [0, 0.01, ..., 1.00] (Array.from length 101), then every existing [data-slice-key] element is observed.
- MutationObserver on document.body (childList, subtree) observes added Element nodes that carry a sliceKey and all descendants matching [data-slice-key].
- Returned cleanup disconnects the IntersectionObserver and the MutationObserver.
| Input | Conditions and history | Evidence |
|---|
| Assertion | Target and measurement | Result |
|---|
- slice-key-intersection-tracker/connection/connection-eecd1e4f5541e3bb2392: pending
- slice-key-intersection-tracker/connection/connection-8f78545d7bc54eb31c64: pending
- slice-key-intersection-tracker/fact/observer-init-all-slices: pending
- slice-key-intersection-tracker/fact/intersection-stores-entry: pending
- slice-key-intersection-tracker/fact/mutation-observes-added: pending
- slice-key-intersection-tracker/fact/mutation-removes-keys: pending
- slice-key-intersection-tracker/fact/cleanup-disconnects: pending
- slice-key-intersection-tracker/flow/1: pending
- slice-key-intersection-tracker/flow/2: pending
- slice-key-intersection-tracker/flow/3: pending
- slice-key-intersection-tracker/flow/4: pending
- slice-key-intersection-tracker/flow/5: pending
- slice-key-intersection-tracker/lifecycle/effect-mount: pending
- slice-key-intersection-tracker/lifecycle/intersection-update: pending
- slice-key-intersection-tracker/lifecycle/mutation-tracking: pending
- slice-key-intersection-tracker/lifecycle/effect-cleanup: pending
- Body of the s() callback and the aRef ref creation site are not resolved in this pass; the consumer of aRef.current is in other controllers.
- IntersectionObserver entries are not filtered by isIntersecting; storage occurs for every entry the browser delivers.
- Initial element set depends on DOM present when the effect runs; no document.fonts or readiness gate is seen in this node.
- Exact runtime threshold crossings and timing are not established by source; requires measurement.
- External inputs IntersectionObserver, Array, document, MutationObserver and Element are environment globals, not resolved here.
- Constant lexical aliases and string expressions are resolved statically. Mutable values, object properties, dynamic imports and runtime dispatch remain unresolved. Import/export links and branch guards are syntax evidence, not proof of execution.
- External caller input IntersectionObserver required at 26dfe60eaada7f805c6d69bcdcecd851:0:102
- External caller input Array required at 26dfe60eaada7f805c6d69bcdcecd851:0:102
- External caller input document required at 26dfe60eaada7f805c6d69bcdcecd851:0:102
- External caller input MutationObserver required at 26dfe60eaada7f805c6d69bcdcecd851:0:102
- External caller input Element required at 26dfe60eaada7f805c6d69bcdcecd851:0:102
- External caller input IntersectionObserver required at 26dfe60eaada7f805c6d69bcdcecd851:0:103
- External caller input Array required at 26dfe60eaada7f805c6d69bcdcecd851:0:103
- External caller input MutationObserver required at 26dfe60eaada7f805c6d69bcdcecd851:0:118
- External caller input Element required at 26dfe60eaada7f805c6d69bcdcecd851:0:118
- External caller input Element required at 26dfe60eaada7f805c6d69bcdcecd851:0:125
- External input IntersectionObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4048:6975
- External input Array required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4048:6975
- External input document required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4048:6975
- External input MutationObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4048:6975
- External input Element required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4048:6975
- External input Element required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4892:6597
- External input Map required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2273:7092
- External input Math required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2273:7092
- External input IntersectionObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2273:7092
- External input Array required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2273:7092
- External input document required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2273:7092
- External input MutationObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2273:7092
- External input Element required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2273:7092
- External input Map required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2592:2616
- External input Map required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2646:4010
- External input Math required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2646:4010
- External input IntersectionObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4086:4731
- External input Array required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4086:4731
- External input MutationObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4867:6598
- External input Element required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:4867:6598
- 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:798:799: Enclosing parameter e must be bound from its original caller
- 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2369:2387: mutable writes retain source context; their runtime order is not established
- External input Map required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2308:2339
- 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:2274:2275: Enclosing parameter e must be bound from its original caller
- Fact observer-init-all-slices: no linked measurement
- Fact intersection-stores-entry: no linked measurement
- Fact mutation-observes-added: no linked measurement
- Fact mutation-removes-keys: no linked measurement
- Fact cleanup-disconnects: no linked measurement
- Flow 0: no measured linked input for effect-mount → observe-existing-slices
- Flow 1: no measured linked input for intersection-callback → store-entry-by-slice-key
- Flow 2: no measured linked input for mutation-callback → observe-added-slices
- Flow 3: no measured linked input for mutation-callback → delete-removed-slice-keys
- Flow 4: no measured linked input for effect-cleanup → disconnect-both-observers
- Lifecycle effect-mount: no linked measurement
- Lifecycle intersection-update: no linked measurement
- Lifecycle mutation-tracking: no linked measurement
- Lifecycle effect-cleanup: no linked measurement
- No executable input histories
- Connection connection-eecd1e4f5541e3bb2392: measure read current and its dependent outcome from initialization
- Connection connection-8f78545d7bc54eb31c64: measure read length and its dependent outcome from initialization
- desktop/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact observer-init-all-slices: no linked measurement; Fact intersection-stores-entry: no linked measurement; Fact mutation-observes-added: no linked measurement; Fact mutation-removes-keys: no linked measurement; Fact cleanup-disconnects: no linked measurement; Flow 0: no measured linked input for effect-mount → observe-existing-slices; Flow 1: no measured linked input for intersection-callback → store-entry-by-slice-key; Flow 2: no measured linked input for mutation-callback → observe-added-slices; Flow 3: no measured linked input for mutation-callback → delete-removed-slice-keys; Flow 4: no measured linked input for effect-cleanup → disconnect-both-observers; Lifecycle effect-mount: no linked measurement; Lifecycle intersection-update: no linked measurement; Lifecycle mutation-tracking: no linked measurement; Lifecycle effect-cleanup: no linked measurement; No executable input histories; Connection connection-eecd1e4f5541e3bb2392: measure read current and its dependent outcome from initialization; Connection connection-8f78545d7bc54eb31c64: measure read length and its dependent outcome from initialization)
- desktop/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact observer-init-all-slices: no linked measurement; Fact intersection-stores-entry: no linked measurement; Fact mutation-observes-added: no linked measurement; Fact mutation-removes-keys: no linked measurement; Fact cleanup-disconnects: no linked measurement; Flow 0: no measured linked input for effect-mount → observe-existing-slices; Flow 1: no measured linked input for intersection-callback → store-entry-by-slice-key; Flow 2: no measured linked input for mutation-callback → observe-added-slices; Flow 3: no measured linked input for mutation-callback → delete-removed-slice-keys; Flow 4: no measured linked input for effect-cleanup → disconnect-both-observers; Lifecycle effect-mount: no linked measurement; Lifecycle intersection-update: no linked measurement; Lifecycle mutation-tracking: no linked measurement; Lifecycle effect-cleanup: no linked measurement; No executable input histories; Connection connection-eecd1e4f5541e3bb2392: measure read current and its dependent outcome from initialization; Connection connection-8f78545d7bc54eb31c64: measure read length and its dependent outcome from initialization)
- mobile/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact observer-init-all-slices: no linked measurement; Fact intersection-stores-entry: no linked measurement; Fact mutation-observes-added: no linked measurement; Fact mutation-removes-keys: no linked measurement; Fact cleanup-disconnects: no linked measurement; Flow 0: no measured linked input for effect-mount → observe-existing-slices; Flow 1: no measured linked input for intersection-callback → store-entry-by-slice-key; Flow 2: no measured linked input for mutation-callback → observe-added-slices; Flow 3: no measured linked input for mutation-callback → delete-removed-slice-keys; Flow 4: no measured linked input for effect-cleanup → disconnect-both-observers; Lifecycle effect-mount: no linked measurement; Lifecycle intersection-update: no linked measurement; Lifecycle mutation-tracking: no linked measurement; Lifecycle effect-cleanup: no linked measurement; No executable input histories; Connection connection-eecd1e4f5541e3bb2392: measure read current and its dependent outcome from initialization; Connection connection-8f78545d7bc54eb31c64: measure read length and its dependent outcome from initialization)
- mobile/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact observer-init-all-slices: no linked measurement; Fact intersection-stores-entry: no linked measurement; Fact mutation-observes-added: no linked measurement; Fact mutation-removes-keys: no linked measurement; Fact cleanup-disconnects: no linked measurement; Flow 0: no measured linked input for effect-mount → observe-existing-slices; Flow 1: no measured linked input for intersection-callback → store-entry-by-slice-key; Flow 2: no measured linked input for mutation-callback → observe-added-slices; Flow 3: no measured linked input for mutation-callback → delete-removed-slice-keys; Flow 4: no measured linked input for effect-cleanup → disconnect-both-observers; Lifecycle effect-mount: no linked measurement; Lifecycle intersection-update: no linked measurement; Lifecycle mutation-tracking: no linked measurement; Lifecycle effect-cleanup: no linked measurement; No executable input histories; Connection connection-eecd1e4f5541e3bb2392: measure read current and its dependent outcome from initialization; Connection connection-8f78545d7bc54eb31c64: measure read length and its dependent outcome from initialization)
- tablet/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact observer-init-all-slices: no linked measurement; Fact intersection-stores-entry: no linked measurement; Fact mutation-observes-added: no linked measurement; Fact mutation-removes-keys: no linked measurement; Fact cleanup-disconnects: no linked measurement; Flow 0: no measured linked input for effect-mount → observe-existing-slices; Flow 1: no measured linked input for intersection-callback → store-entry-by-slice-key; Flow 2: no measured linked input for mutation-callback → observe-added-slices; Flow 3: no measured linked input for mutation-callback → delete-removed-slice-keys; Flow 4: no measured linked input for effect-cleanup → disconnect-both-observers; Lifecycle effect-mount: no linked measurement; Lifecycle intersection-update: no linked measurement; Lifecycle mutation-tracking: no linked measurement; Lifecycle effect-cleanup: no linked measurement; No executable input histories; Connection connection-eecd1e4f5541e3bb2392: measure read current and its dependent outcome from initialization; Connection connection-8f78545d7bc54eb31c64: measure read length and its dependent outcome from initialization)
- tablet/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact observer-init-all-slices: no linked measurement; Fact intersection-stores-entry: no linked measurement; Fact mutation-observes-added: no linked measurement; Fact mutation-removes-keys: no linked measurement; Fact cleanup-disconnects: no linked measurement; Flow 0: no measured linked input for effect-mount → observe-existing-slices; Flow 1: no measured linked input for intersection-callback → store-entry-by-slice-key; Flow 2: no measured linked input for mutation-callback → observe-added-slices; Flow 3: no measured linked input for mutation-callback → delete-removed-slice-keys; Flow 4: no measured linked input for effect-cleanup → disconnect-both-observers; Lifecycle effect-mount: no linked measurement; Lifecycle intersection-update: no linked measurement; Lifecycle mutation-tracking: no linked measurement; Lifecycle effect-cleanup: no linked measurement; No executable input histories; Connection connection-eecd1e4f5541e3bb2392: measure read current and its dependent outcome from initialization; Connection connection-8f78545d7bc54eb31c64: measure read length and its dependent outcome from initialization)
- slice-key-intersection-tracker/connection/connection-eecd1e4f5541e3bb2392: requirement has no executable check
- slice-key-intersection-tracker/connection/connection-8f78545d7bc54eb31c64: requirement has no executable check
- slice-key-intersection-tracker/fact/observer-init-all-slices: requirement has no executable check
- slice-key-intersection-tracker/fact/intersection-stores-entry: requirement has no executable check
- slice-key-intersection-tracker/fact/mutation-observes-added: requirement has no executable check
- slice-key-intersection-tracker/fact/mutation-removes-keys: requirement has no executable check
- slice-key-intersection-tracker/fact/cleanup-disconnects: requirement has no executable check
- slice-key-intersection-tracker/flow/1: requirement has no executable check
- slice-key-intersection-tracker/flow/2: requirement has no executable check
- slice-key-intersection-tracker/flow/3: requirement has no executable check
- slice-key-intersection-tracker/flow/4: requirement has no executable check
- slice-key-intersection-tracker/flow/5: requirement has no executable check
- slice-key-intersection-tracker/lifecycle/effect-mount: requirement has no executable check
- slice-key-intersection-tracker/lifecycle/intersection-update: requirement has no executable check
- slice-key-intersection-tracker/lifecycle/mutation-tracking: requirement has no executable check
- slice-key-intersection-tracker/lifecycle/effect-cleanup: requirement has no executable check
- callback at line 102: 11 pending and 0 blocked source obligations
A React section's useEffect (deps [x], x = preloaderFinishedAtom) runs gsap.context on the section root. It hides every [data-rt-block] element and splits every [data-rt-heading] element into words with SplitText, hiding those words, all synchronously. If the preloader has not finished (x falsy) it returns with content hidden and no timeline. When x is truthy it builds a once-only ScrollTrigger timeline (trigger = section, start "top 85%"): split words animate to autoAlpha 1 / y 0 (duration 1, stagger 0.01, expo.out) at position 0, and blocks animate to autoAlpha 1 / y 0 (duration 1, stagger 0.15, expo.out) at position 0.2. Cleanup reverts the gsap context and every SplitText instance.
Next: Calibrate the original and compare this behavior
0/4 assertions calibrated · 0 unchanged mappings retained
Targets: [data-rt-heading], [data-rt-block]
- Inside gsap.context, every [data-rt-block] under the section is set to autoAlpha 0, y 10 (gsap.set, no animation), before the preloader gate and regardless of it.
- Each [data-rt-heading] element is passed to SplitText.create(e, {type:"words"}); each instance is pushed to closure array t and its words are set to autoAlpha 0, y 10. This happens unconditionally, before the preloader gate.
- If x (preloaderFinishedAtom) is falsy the callback returns: headings stay split and hidden, blocks stay hidden, and no ScrollTrigger timeline is created in this run.
- When x is truthy, r.default.timeline is created with scrollTrigger {trigger: section root, start: "top 85%", once: true}.
- Effect cleanup calls the gsap context revert() and reverts every stored SplitText instance. The effect reruns when x changes (deps [x]).
| Input | Conditions and history | Evidence |
|---|---|---|
| block-reveal-scroll-desktop · step 1 scroll | On a first visit with the preloader finished, a scroll past the section trigger (top 85%) starts the once-only timeline: blocks start hidden (opacity 0) and settle to opacity 1 and translateY 0 after the 0.2s offset, duration 1s and 0.15s stagger. desktop 1440 × 900 first-visit scroll [
{
"id": "page",
"selector": "body",
"label": "scroll page",
"kind": "scroll",
"scroll": {
"x": 0,
"y": 3600
},
"viewport": {
"width": 1440,
"height": 900
}
}
] | Compare original and replica |
| Assertion | Target and measurement | Result |
|---|---|---|
| rt-heading-block-reveal/block-reveal-scroll-desktop/block-opacity-hidden-start | [data-rt-block] · opacity | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "equals",
"atMs": 0,
"value": 0
},
"samples": [
{
"timeMs": 0,
"error": "Checkpoint measurement unavailable"
}
]
} |
| rt-heading-block-reveal/block-reveal-scroll-desktop/block-opacity-rise | [data-rt-block] · opacity | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "delta",
"fromMs": 0,
"toMs": 1600,
"min": 0.9,
"max": 1
},
"samples": [
{
"timeMs": 0,
"error": "Checkpoint measurement unavailable"
},
{
"timeMs": 1600,
"error": "Checkpoint measurement unavailable"
}
]
} |
| rt-heading-block-reveal/block-reveal-scroll-desktop/block-opacity-settled | [data-rt-block] · opacity | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "equals",
"atMs": 1600,
"value": 1
},
"samples": [
{
"timeMs": 1600,
"error": "Checkpoint measurement unavailable"
}
]
} |
| rt-heading-block-reveal/block-reveal-scroll-desktop/block-translate-settled | [data-rt-block] · translateY | unverified No current assertion measurement against a validated live reference {
"check": {
"kind": "equals",
"atMs": 1600,
"value": 0
},
"samples": [
{
"timeMs": 1600,
"error": "Checkpoint measurement unavailable"
}
]
} |
- rt-heading-block-reveal/connection/connection-017bdcf90638ceb39e87: pending
- rt-heading-block-reveal/connection/connection-7b7e8f83a7bc9817679e: pending
- rt-heading-block-reveal/connection/connection-25e1bbf2df72d3e71a07: pending
- rt-heading-block-reveal/connection/connection-d678a458daa71494651b: pending
- rt-heading-block-reveal/fact/init-hide-blocks: pending
- rt-heading-block-reveal/fact/split-headings: pending
- rt-heading-block-reveal/fact/preloader-gate: pending
- rt-heading-block-reveal/fact/scroll-timeline: pending
- rt-heading-block-reveal/fact/heading-words-reveal: pending
- rt-heading-block-reveal/fact/block-reveal: pending
- rt-heading-block-reveal/fact/cleanup-revert: pending
- rt-heading-block-reveal/flow/1: pending
- rt-heading-block-reveal/flow/2: pending
- rt-heading-block-reveal/flow/3: pending
- rt-heading-block-reveal/flow/4: pending
- rt-heading-block-reveal/flow/5: pending
- rt-heading-block-reveal/lifecycle/lc-init-hide: pending
- rt-heading-block-reveal/lifecycle/lc-gate: pending
- rt-heading-block-reveal/lifecycle/lc-scroll-reveal: pending
- rt-heading-block-reveal/lifecycle/lc-cleanup: pending
- The value of preloaderFinishedAtom at each sourceState and the moment it flips; reveal timing depends on it.
- The enclosing component's parameter e (data/root props) is not resolved in the captured package, so the section's data-driven rendering is not analyzed here.
- No font-readiness wait exists in this callback; any font-dependent re-split is not visible in this node.
- Runtime shared-state links (current, length, words) are name-matched and receiver-unverified; no producer of x was resolved.
- Constant lexical aliases and string expressions are resolved statically. Mutable values, object properties, dynamic imports and runtime dispatch remain unresolved. Import/export links and branch guards are syntax evidence, not proof of execution.
- 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:84142:84143: Enclosing parameter e must be bound from its original caller
- Fact split-headings: no linked measurement
- Fact preloader-gate: no linked measurement
- Fact heading-words-reveal: no linked measurement
- Fact cleanup-revert: no linked measurement
- Flow 0: no measured linked input for effect-run → hide-and-split
- Flow 1: no measured linked input for hide-and-split → return-hidden
- Flow 2: no measured linked input for hide-and-split → build-scroll-timeline
- Flow 3: no measured scroll/wheel input for build-scroll-timeline → heading-words-reveal
- Flow 4: no measured scroll/wheel input for build-scroll-timeline → block-reveal
- Lifecycle lc-init-hide: no linked measurement
- Lifecycle lc-gate: no linked measurement
- Lifecycle lc-scroll-reveal: no linked measurement
- Lifecycle lc-cleanup: no linked measurement
- Connection connection-017bdcf90638ceb39e87: measure read length and its dependent outcome from initialization
- Connection connection-7b7e8f83a7bc9817679e: measure read length and its dependent outcome from initialization
- Connection connection-25e1bbf2df72d3e71a07: measure read words and its dependent outcome from initialization
- Connection connection-d678a458daa71494651b: measure read words and its dependent outcome from initialization
- desktop/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact split-headings: no linked measurement; Fact preloader-gate: no linked measurement; Fact heading-words-reveal: no linked measurement; Fact cleanup-revert: no linked measurement; Flow 0: no measured linked input for effect-run → hide-and-split; Flow 1: no measured linked input for hide-and-split → return-hidden; Flow 2: no measured linked input for hide-and-split → build-scroll-timeline; Flow 3: no measured scroll/wheel input for build-scroll-timeline → heading-words-reveal; Flow 4: no measured scroll/wheel input for build-scroll-timeline → block-reveal; Lifecycle lc-init-hide: no linked measurement; Lifecycle lc-gate: no linked measurement; Lifecycle lc-scroll-reveal: no linked measurement; Lifecycle lc-cleanup: no linked measurement; Connection connection-017bdcf90638ceb39e87: measure read length and its dependent outcome from initialization; Connection connection-7b7e8f83a7bc9817679e: measure read length and its dependent outcome from initialization; Connection connection-25e1bbf2df72d3e71a07: measure read words and its dependent outcome from initialization; Connection connection-d678a458daa71494651b: measure read words and its dependent outcome from initialization)
- desktop/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact init-hide-blocks: no linked measurement; Fact split-headings: no linked measurement; Fact preloader-gate: no linked measurement; Fact scroll-timeline: no linked measurement; Fact heading-words-reveal: no linked measurement; Fact block-reveal: no linked measurement; Fact cleanup-revert: no linked measurement; Flow 0: no measured linked input for effect-run → hide-and-split; Flow 1: no measured linked input for hide-and-split → return-hidden; Flow 2: no measured linked input for hide-and-split → build-scroll-timeline; Flow 3: no measured scroll/wheel input for build-scroll-timeline → heading-words-reveal; Flow 4: no measured scroll/wheel input for build-scroll-timeline → block-reveal; Lifecycle lc-init-hide: no linked measurement; Lifecycle lc-gate: no linked measurement; Lifecycle lc-scroll-reveal: no linked measurement; Lifecycle lc-cleanup: no linked measurement; No executable input histories; Connection connection-017bdcf90638ceb39e87: measure read length and its dependent outcome from initialization; Connection connection-7b7e8f83a7bc9817679e: measure read length and its dependent outcome from initialization; Connection connection-25e1bbf2df72d3e71a07: measure read words and its dependent outcome from initialization; Connection connection-d678a458daa71494651b: measure read words and its dependent outcome from initialization)
- mobile/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact init-hide-blocks: no linked measurement; Fact split-headings: no linked measurement; Fact preloader-gate: no linked measurement; Fact scroll-timeline: no linked measurement; Fact heading-words-reveal: no linked measurement; Fact block-reveal: no linked measurement; Fact cleanup-revert: no linked measurement; Flow 0: no measured linked input for effect-run → hide-and-split; Flow 1: no measured linked input for hide-and-split → return-hidden; Flow 2: no measured linked input for hide-and-split → build-scroll-timeline; Flow 3: no measured scroll/wheel input for build-scroll-timeline → heading-words-reveal; Flow 4: no measured scroll/wheel input for build-scroll-timeline → block-reveal; Lifecycle lc-init-hide: no linked measurement; Lifecycle lc-gate: no linked measurement; Lifecycle lc-scroll-reveal: no linked measurement; Lifecycle lc-cleanup: no linked measurement; No executable input histories; Connection connection-017bdcf90638ceb39e87: measure read length and its dependent outcome from initialization; Connection connection-7b7e8f83a7bc9817679e: measure read length and its dependent outcome from initialization; Connection connection-25e1bbf2df72d3e71a07: measure read words and its dependent outcome from initialization; Connection connection-d678a458daa71494651b: measure read words and its dependent outcome from initialization)
- mobile/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact init-hide-blocks: no linked measurement; Fact split-headings: no linked measurement; Fact preloader-gate: no linked measurement; Fact scroll-timeline: no linked measurement; Fact heading-words-reveal: no linked measurement; Fact block-reveal: no linked measurement; Fact cleanup-revert: no linked measurement; Flow 0: no measured linked input for effect-run → hide-and-split; Flow 1: no measured linked input for hide-and-split → return-hidden; Flow 2: no measured linked input for hide-and-split → build-scroll-timeline; Flow 3: no measured scroll/wheel input for build-scroll-timeline → heading-words-reveal; Flow 4: no measured scroll/wheel input for build-scroll-timeline → block-reveal; Lifecycle lc-init-hide: no linked measurement; Lifecycle lc-gate: no linked measurement; Lifecycle lc-scroll-reveal: no linked measurement; Lifecycle lc-cleanup: no linked measurement; No executable input histories; Connection connection-017bdcf90638ceb39e87: measure read length and its dependent outcome from initialization; Connection connection-7b7e8f83a7bc9817679e: measure read length and its dependent outcome from initialization; Connection connection-25e1bbf2df72d3e71a07: measure read words and its dependent outcome from initialization; Connection connection-d678a458daa71494651b: measure read words and its dependent outcome from initialization)
- tablet/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact init-hide-blocks: no linked measurement; Fact split-headings: no linked measurement; Fact preloader-gate: no linked measurement; Fact scroll-timeline: no linked measurement; Fact heading-words-reveal: no linked measurement; Fact block-reveal: no linked measurement; Fact cleanup-revert: no linked measurement; Flow 0: no measured linked input for effect-run → hide-and-split; Flow 1: no measured linked input for hide-and-split → return-hidden; Flow 2: no measured linked input for hide-and-split → build-scroll-timeline; Flow 3: no measured scroll/wheel input for build-scroll-timeline → heading-words-reveal; Flow 4: no measured scroll/wheel input for build-scroll-timeline → block-reveal; Lifecycle lc-init-hide: no linked measurement; Lifecycle lc-gate: no linked measurement; Lifecycle lc-scroll-reveal: no linked measurement; Lifecycle lc-cleanup: no linked measurement; No executable input histories; Connection connection-017bdcf90638ceb39e87: measure read length and its dependent outcome from initialization; Connection connection-7b7e8f83a7bc9817679e: measure read length and its dependent outcome from initialization; Connection connection-25e1bbf2df72d3e71a07: measure read words and its dependent outcome from initialization; Connection connection-d678a458daa71494651b: measure read words and its dependent outcome from initialization)
- tablet/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact init-hide-blocks: no linked measurement; Fact split-headings: no linked measurement; Fact preloader-gate: no linked measurement; Fact scroll-timeline: no linked measurement; Fact heading-words-reveal: no linked measurement; Fact block-reveal: no linked measurement; Fact cleanup-revert: no linked measurement; Flow 0: no measured linked input for effect-run → hide-and-split; Flow 1: no measured linked input for hide-and-split → return-hidden; Flow 2: no measured linked input for hide-and-split → build-scroll-timeline; Flow 3: no measured scroll/wheel input for build-scroll-timeline → heading-words-reveal; Flow 4: no measured scroll/wheel input for build-scroll-timeline → block-reveal; Lifecycle lc-init-hide: no linked measurement; Lifecycle lc-gate: no linked measurement; Lifecycle lc-scroll-reveal: no linked measurement; Lifecycle lc-cleanup: no linked measurement; No executable input histories; Connection connection-017bdcf90638ceb39e87: measure read length and its dependent outcome from initialization; Connection connection-7b7e8f83a7bc9817679e: measure read length and its dependent outcome from initialization; Connection connection-25e1bbf2df72d3e71a07: measure read words and its dependent outcome from initialization; Connection connection-d678a458daa71494651b: measure read words and its dependent outcome from initialization)
- rt-heading-block-reveal/connection/connection-017bdcf90638ceb39e87: requirement has no executable check
- rt-heading-block-reveal/connection/connection-7b7e8f83a7bc9817679e: requirement has no executable check
- rt-heading-block-reveal/connection/connection-25e1bbf2df72d3e71a07: requirement has no executable check
- rt-heading-block-reveal/connection/connection-d678a458daa71494651b: requirement has no executable check
- rt-heading-block-reveal/fact/split-headings: requirement has no executable check
- rt-heading-block-reveal/fact/preloader-gate: requirement has no executable check
- rt-heading-block-reveal/fact/heading-words-reveal: requirement has no executable check
- rt-heading-block-reveal/fact/cleanup-revert: requirement has no executable check
- rt-heading-block-reveal/flow/1: requirement has no executable check
- rt-heading-block-reveal/flow/2: requirement has no executable check
- rt-heading-block-reveal/flow/3: requirement has no executable check
- rt-heading-block-reveal/flow/4: requirement has no executable check
- rt-heading-block-reveal/flow/5: requirement has no executable check
- rt-heading-block-reveal/lifecycle/lc-init-hide: requirement has no executable check
- rt-heading-block-reveal/lifecycle/lc-gate: requirement has no executable check
- rt-heading-block-reveal/lifecycle/lc-scroll-reveal: requirement has no executable check
- rt-heading-block-reveal/lifecycle/lc-cleanup: requirement has no executable check
- callback at line 1999: 6 pending and 0 blocked source obligations
A React component (module 26dfe60eaada7f805c6d69bcdcecd851:0, input.js) holds ref cRef on its wrapper div and reads d = useAtomValue(preloaderFinishedAtom). Its useEffect with dependency [d] returns early when cRef.current is null. Otherwise, inside gsap.context scoped to the root, it calls SplitText.create(e,{type:"words"}) on every [data-title] descendant, pushes each split into t, and sets each split's words to autoAlpha 0, y 10. If d is truthy it creates a gsap timeline with scrollTrigger {trigger: root, start "top 85%", once: true} that tweens all split words to autoAlpha 1, y 0, duration 1, stagger 0.1, ease expo.out at position 0. Cleanup reverts the context and every SplitText instance. The effect runs on mount and whenever d changes. No reduced-motion guard appears in this effect.
Next: Plan an applicable input history and assertions
0/0 assertions calibrated · 0 unchanged mappings retained
Targets: [data-title]
- The effect dependency array is [d], where d = useAtomValue(preloaderFinishedAtom); the effect re-runs when that value changes.
- If cRef.current is null the effect returns before splitting, so nothing is split or hidden.
- Every [data-title] descendant of the root is split with SplitText type 'words' and its instance is pushed into t.
- The reveal timeline is created only when d is truthy. When d is falsy the words stay hidden.
- The cleanup calls revert() on the gsap context and on each SplitText instance.
- No matchMedia or reduced-motion check appears in this effect, so the reveal is not gated on reduced-motion preference in source.
| Input | Conditions and history | Evidence |
|---|
| Assertion | Target and measurement | Result |
|---|
- title-split-word-reveal/connection/connection-7626fa59658579808988: pending
- title-split-word-reveal/connection/connection-8503b46e139aa217934d: pending
- title-split-word-reveal/connection/connection-701ae4a0eb2dc908611c: pending
- title-split-word-reveal/fact/effect-keyed-on-preloader: pending
- title-split-word-reveal/fact/root-null-guard: pending
- title-split-word-reveal/fact/split-data-title-words: pending
- title-split-word-reveal/fact/words-hidden-initially: pending
- title-split-word-reveal/fact/reveal-gated-on-preloader: pending
- title-split-word-reveal/fact/reveal-timeline-scrolltrigger: pending
- title-split-word-reveal/fact/cleanup-revert: pending
- title-split-word-reveal/fact/no-reduced-motion-guard: pending
- title-split-word-reveal/flow/1: pending
- title-split-word-reveal/flow/2: pending
- title-split-word-reveal/flow/3: pending
- title-split-word-reveal/flow/4: pending
- title-split-word-reveal/flow/5: pending
- title-split-word-reveal/lifecycle/mount-split: pending
- title-split-word-reveal/lifecycle/reveal-on-preloader: pending
- title-split-word-reveal/lifecycle/revert-on-cleanup: pending
- Activation root selector is not resolved; activation is omitted.
- Whether preloaderFinishedAtom changes false to true during a visit is not shown in source; runtime history must establish it.
- Connections connection-8503b46e139aa217934d and connection-701ae4a0eb2dc908611c read words from the split callback; their consumers are not resolved here.
- SplitText library behavior (word splitting, revert) is not inspected here.
- Whether the scrollTrigger reached top 85% at runtime is not established by source alone.
- Constant lexical aliases and string expressions are resolved statically. Mutable values, object properties, dynamic imports and runtime dispatch remain unresolved. Import/export links and branch guards are syntax evidence, not proof of execution.
- 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:72968:72969: Enclosing parameter e must be bound from its original caller
- Fact effect-keyed-on-preloader: no linked measurement
- Fact root-null-guard: no linked measurement
- Fact split-data-title-words: no linked measurement
- Fact words-hidden-initially: no linked measurement
- Fact reveal-gated-on-preloader: no linked measurement
- Fact reveal-timeline-scrolltrigger: no linked measurement
- Fact cleanup-revert: no linked measurement
- Fact no-reduced-motion-guard: no linked measurement
- Flow 0: no measured linked input for mount-or-d-change → root-null-guard
- Flow 1: no measured linked input for root-null-guard → split-and-hide
- Flow 2: no measured linked input for split-and-hide → reveal-timeline
- Flow 3: no measured linked input for split-and-hide → hidden-idle
- Flow 4: no measured linked input for effect-cleanup → mount-or-d-change
- Lifecycle mount-split: no linked measurement
- Lifecycle reveal-on-preloader: no linked measurement
- Lifecycle revert-on-cleanup: no linked measurement
- No executable input histories
- Connection connection-7626fa59658579808988: measure read current and its dependent outcome from initialization
- Connection connection-8503b46e139aa217934d: measure read words and its dependent outcome from initialization
- Connection connection-701ae4a0eb2dc908611c: measure read words and its dependent outcome from initialization
- desktop/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-keyed-on-preloader: no linked measurement; Fact root-null-guard: no linked measurement; Fact split-data-title-words: no linked measurement; Fact words-hidden-initially: no linked measurement; Fact reveal-gated-on-preloader: no linked measurement; Fact reveal-timeline-scrolltrigger: no linked measurement; Fact cleanup-revert: no linked measurement; Fact no-reduced-motion-guard: no linked measurement; Flow 0: no measured linked input for mount-or-d-change → root-null-guard; Flow 1: no measured linked input for root-null-guard → split-and-hide; Flow 2: no measured linked input for split-and-hide → reveal-timeline; Flow 3: no measured linked input for split-and-hide → hidden-idle; Flow 4: no measured linked input for effect-cleanup → mount-or-d-change; Lifecycle mount-split: no linked measurement; Lifecycle reveal-on-preloader: no linked measurement; Lifecycle revert-on-cleanup: no linked measurement; No executable input histories; Connection connection-7626fa59658579808988: measure read current and its dependent outcome from initialization; Connection connection-8503b46e139aa217934d: measure read words and its dependent outcome from initialization; Connection connection-701ae4a0eb2dc908611c: measure read words and its dependent outcome from initialization)
- desktop/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-keyed-on-preloader: no linked measurement; Fact root-null-guard: no linked measurement; Fact split-data-title-words: no linked measurement; Fact words-hidden-initially: no linked measurement; Fact reveal-gated-on-preloader: no linked measurement; Fact reveal-timeline-scrolltrigger: no linked measurement; Fact cleanup-revert: no linked measurement; Fact no-reduced-motion-guard: no linked measurement; Flow 0: no measured linked input for mount-or-d-change → root-null-guard; Flow 1: no measured linked input for root-null-guard → split-and-hide; Flow 2: no measured linked input for split-and-hide → reveal-timeline; Flow 3: no measured linked input for split-and-hide → hidden-idle; Flow 4: no measured linked input for effect-cleanup → mount-or-d-change; Lifecycle mount-split: no linked measurement; Lifecycle reveal-on-preloader: no linked measurement; Lifecycle revert-on-cleanup: no linked measurement; No executable input histories; Connection connection-7626fa59658579808988: measure read current and its dependent outcome from initialization; Connection connection-8503b46e139aa217934d: measure read words and its dependent outcome from initialization; Connection connection-701ae4a0eb2dc908611c: measure read words and its dependent outcome from initialization)
- mobile/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-keyed-on-preloader: no linked measurement; Fact root-null-guard: no linked measurement; Fact split-data-title-words: no linked measurement; Fact words-hidden-initially: no linked measurement; Fact reveal-gated-on-preloader: no linked measurement; Fact reveal-timeline-scrolltrigger: no linked measurement; Fact cleanup-revert: no linked measurement; Fact no-reduced-motion-guard: no linked measurement; Flow 0: no measured linked input for mount-or-d-change → root-null-guard; Flow 1: no measured linked input for root-null-guard → split-and-hide; Flow 2: no measured linked input for split-and-hide → reveal-timeline; Flow 3: no measured linked input for split-and-hide → hidden-idle; Flow 4: no measured linked input for effect-cleanup → mount-or-d-change; Lifecycle mount-split: no linked measurement; Lifecycle reveal-on-preloader: no linked measurement; Lifecycle revert-on-cleanup: no linked measurement; No executable input histories; Connection connection-7626fa59658579808988: measure read current and its dependent outcome from initialization; Connection connection-8503b46e139aa217934d: measure read words and its dependent outcome from initialization; Connection connection-701ae4a0eb2dc908611c: measure read words and its dependent outcome from initialization)
- mobile/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-keyed-on-preloader: no linked measurement; Fact root-null-guard: no linked measurement; Fact split-data-title-words: no linked measurement; Fact words-hidden-initially: no linked measurement; Fact reveal-gated-on-preloader: no linked measurement; Fact reveal-timeline-scrolltrigger: no linked measurement; Fact cleanup-revert: no linked measurement; Fact no-reduced-motion-guard: no linked measurement; Flow 0: no measured linked input for mount-or-d-change → root-null-guard; Flow 1: no measured linked input for root-null-guard → split-and-hide; Flow 2: no measured linked input for split-and-hide → reveal-timeline; Flow 3: no measured linked input for split-and-hide → hidden-idle; Flow 4: no measured linked input for effect-cleanup → mount-or-d-change; Lifecycle mount-split: no linked measurement; Lifecycle reveal-on-preloader: no linked measurement; Lifecycle revert-on-cleanup: no linked measurement; No executable input histories; Connection connection-7626fa59658579808988: measure read current and its dependent outcome from initialization; Connection connection-8503b46e139aa217934d: measure read words and its dependent outcome from initialization; Connection connection-701ae4a0eb2dc908611c: measure read words and its dependent outcome from initialization)
- tablet/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-keyed-on-preloader: no linked measurement; Fact root-null-guard: no linked measurement; Fact split-data-title-words: no linked measurement; Fact words-hidden-initially: no linked measurement; Fact reveal-gated-on-preloader: no linked measurement; Fact reveal-timeline-scrolltrigger: no linked measurement; Fact cleanup-revert: no linked measurement; Fact no-reduced-motion-guard: no linked measurement; Flow 0: no measured linked input for mount-or-d-change → root-null-guard; Flow 1: no measured linked input for root-null-guard → split-and-hide; Flow 2: no measured linked input for split-and-hide → reveal-timeline; Flow 3: no measured linked input for split-and-hide → hidden-idle; Flow 4: no measured linked input for effect-cleanup → mount-or-d-change; Lifecycle mount-split: no linked measurement; Lifecycle reveal-on-preloader: no linked measurement; Lifecycle revert-on-cleanup: no linked measurement; No executable input histories; Connection connection-7626fa59658579808988: measure read current and its dependent outcome from initialization; Connection connection-8503b46e139aa217934d: measure read words and its dependent outcome from initialization; Connection connection-701ae4a0eb2dc908611c: measure read words and its dependent outcome from initialization)
- tablet/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-keyed-on-preloader: no linked measurement; Fact root-null-guard: no linked measurement; Fact split-data-title-words: no linked measurement; Fact words-hidden-initially: no linked measurement; Fact reveal-gated-on-preloader: no linked measurement; Fact reveal-timeline-scrolltrigger: no linked measurement; Fact cleanup-revert: no linked measurement; Fact no-reduced-motion-guard: no linked measurement; Flow 0: no measured linked input for mount-or-d-change → root-null-guard; Flow 1: no measured linked input for root-null-guard → split-and-hide; Flow 2: no measured linked input for split-and-hide → reveal-timeline; Flow 3: no measured linked input for split-and-hide → hidden-idle; Flow 4: no measured linked input for effect-cleanup → mount-or-d-change; Lifecycle mount-split: no linked measurement; Lifecycle reveal-on-preloader: no linked measurement; Lifecycle revert-on-cleanup: no linked measurement; No executable input histories; Connection connection-7626fa59658579808988: measure read current and its dependent outcome from initialization; Connection connection-8503b46e139aa217934d: measure read words and its dependent outcome from initialization; Connection connection-701ae4a0eb2dc908611c: measure read words and its dependent outcome from initialization)
- title-split-word-reveal/connection/connection-7626fa59658579808988: requirement has no executable check
- title-split-word-reveal/connection/connection-8503b46e139aa217934d: requirement has no executable check
- title-split-word-reveal/connection/connection-701ae4a0eb2dc908611c: requirement has no executable check
- title-split-word-reveal/fact/effect-keyed-on-preloader: requirement has no executable check
- title-split-word-reveal/fact/root-null-guard: requirement has no executable check
- title-split-word-reveal/fact/split-data-title-words: requirement has no executable check
- title-split-word-reveal/fact/words-hidden-initially: requirement has no executable check
- title-split-word-reveal/fact/reveal-gated-on-preloader: requirement has no executable check
- title-split-word-reveal/fact/reveal-timeline-scrolltrigger: requirement has no executable check
- title-split-word-reveal/fact/cleanup-revert: requirement has no executable check
- title-split-word-reveal/fact/no-reduced-motion-guard: requirement has no executable check
- title-split-word-reveal/flow/1: requirement has no executable check
- title-split-word-reveal/flow/2: requirement has no executable check
- title-split-word-reveal/flow/3: requirement has no executable check
- title-split-word-reveal/flow/4: requirement has no executable check
- title-split-word-reveal/flow/5: requirement has no executable check
- title-split-word-reveal/lifecycle/mount-split: requirement has no executable check
- title-split-word-reveal/lifecycle/reveal-on-preloader: requirement has no executable check
- title-split-word-reveal/lifecycle/revert-on-cleanup: requirement has no executable check
- callback at line 1741: 1 pending and 0 blocked source obligations
Mount-time effect on the title h2 ref (lRef). The effect runs once (deps []). It returns early when lRef.current is null. Inside gsap.context scoped to the h2 root, it builds a scrollTrigger timeline (trigger = h2, start "top 85%", once true). For every descendant [data-title] span it creates SplitText type "chars", pushes the instance into a local array, and immediately sets each split's chars to autoAlpha 0. It then adds a single timeline .to over the flattened chars array (autoAlpha 1, duration 0.6, stagger 0.04, ease expo.out) with no position argument. Cleanup reverts the context (killing the ScrollTrigger and timeline) and reverts every SplitText instance. This callback has no preloader gate, matchMedia, reduced-motion check, or font-ready wait; those are absent from the node, not proven absent at runtime.
Next: Plan an applicable input history and assertions
0/0 assertions calibrated · 0 unchanged mappings retained
Targets: h2.col-span-full, [data-title]
- useEffect has an empty dependency array, so setup runs once per mount and cleanup runs on unmount; no re-run on state change.
- If lRef.current is falsy, the effect returns before creating any context, split or timeline.
- gsap.context is scoped to lRef_current, so timelines and ScrollTriggers created inside it are reverted together.
- The timeline carries scrollTrigger {trigger: h2, start: top 85%, once: true}; the reveal plays once when the h2 top reaches 85% of the viewport.
- The target array spreads t.map(e=>e.chars) with an || [] fallback; it only matters if the mapped value is nullish.
- Cleanup calls context.revert() (kills ScrollTrigger and timeline, restores set styles) then SplitText.revert() on every pushed instance.
- The callback has no preloaderFinishedAtom gate, matchMedia, reduced-motion check or fonts.ready wait. Sibling controllers in this module (rt-heading-block-reveal, title-split-word-reveal) gate on preloaderFinishedAtom; this one does not.
| Input | Conditions and history | Evidence |
|---|
| Assertion | Target and measurement | Result |
|---|
- title-split-char-reveal/connection/connection-a0a122600ba8e08c2fe9: pending
- title-split-char-reveal/connection/connection-06b068d5b9d51aa0fadc: pending
- title-split-char-reveal/connection/connection-3f98a419c763f810129e: pending
- title-split-char-reveal/fact/effect-runs-once-on-mount: pending
- title-split-char-reveal/fact/ref-null-early-return: pending
- title-split-char-reveal/fact/context-scoped-to-root: pending
- title-split-char-reveal/fact/chars-split-per-title: pending
- title-split-char-reveal/fact/chars-hidden-before-reveal: pending
- title-split-char-reveal/fact/scrolltrigger-once-top-85: pending
- title-split-char-reveal/fact/chars-tween-values: pending
- title-split-char-reveal/fact/chars-fallback-empty-array: pending
- title-split-char-reveal/fact/cleanup-reverts-context-and-splits: pending
- title-split-char-reveal/fact/no-gate-observed: pending
- title-split-char-reveal/flow/1: pending
- title-split-char-reveal/flow/2: pending
- title-split-char-reveal/flow/3: pending
- title-split-char-reveal/flow/4: pending
- title-split-char-reveal/flow/5: pending
- title-split-char-reveal/lifecycle/mount-split-hide: pending
- title-split-char-reveal/lifecycle/scroll-reveal-once: pending
- title-split-char-reveal/lifecycle/unmount-revert: pending
- Activation omitted: the h2 root is reached only via lRef; no unique selector was verified.
- Font readiness: SplitText runs at mount with no fonts.ready wait, so char geometry may depend on fallback vs loaded fonts; unresolved.
- Whether this title sits inside a preloader-gated section is not established by this callback alone.
- Whether route re-entry or React remount re-runs this effect is not visible in this callback.
- Shared-state chars reads at lines 1136 and 1141 are in the same closure; receiver resolution is inherited from the packet connections.
- Constant lexical aliases and string expressions are resolved statically. Mutable values, object properties, dynamic imports and runtime dispatch remain unresolved. Import/export links and branch guards are syntax evidence, not proof of execution.
- 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:47393:47394: Enclosing parameter e must be bound from its original caller
- Fact effect-runs-once-on-mount: no linked measurement
- Fact ref-null-early-return: no linked measurement
- Fact context-scoped-to-root: no linked measurement
- Fact chars-split-per-title: no linked measurement
- Fact chars-hidden-before-reveal: no linked measurement
- Fact scrolltrigger-once-top-85: no linked measurement
- Fact chars-tween-values: no linked measurement
- Fact chars-fallback-empty-array: no linked measurement
- Fact cleanup-reverts-context-and-splits: no linked measurement
- Fact no-gate-observed: no linked measurement
- Flow 0: no measured linked input for useEffect mount (deps []) → lRef.current null check
- Flow 1: no measured linked input for gsap.context(callback, lRef_current) → scrollTrigger timeline created
- Flow 2: no measured linked input for querySelectorAll([data-title]) forEach → SplitText chars + autoAlpha 0 set
- Flow 3: no measured linked input for timeline.to(flattened chars) → chars reveal when scroll reaches top 85%
- Flow 4: no measured linked input for effect cleanup → context.revert and split.revert
- Lifecycle mount-split-hide: no linked measurement
- Lifecycle scroll-reveal-once: no linked measurement
- Lifecycle unmount-revert: no linked measurement
- No executable input histories
- Connection connection-a0a122600ba8e08c2fe9: measure read current and its dependent outcome from initialization
- Connection connection-06b068d5b9d51aa0fadc: measure read chars and its dependent outcome from initialization
- Connection connection-3f98a419c763f810129e: measure read chars and its dependent outcome from initialization
- desktop/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-runs-once-on-mount: no linked measurement; Fact ref-null-early-return: no linked measurement; Fact context-scoped-to-root: no linked measurement; Fact chars-split-per-title: no linked measurement; Fact chars-hidden-before-reveal: no linked measurement; Fact scrolltrigger-once-top-85: no linked measurement; Fact chars-tween-values: no linked measurement; Fact chars-fallback-empty-array: no linked measurement; Fact cleanup-reverts-context-and-splits: no linked measurement; Fact no-gate-observed: no linked measurement; Flow 0: no measured linked input for useEffect mount (deps []) → lRef.current null check; Flow 1: no measured linked input for gsap.context(callback, lRef_current) → scrollTrigger timeline created; Flow 2: no measured linked input for querySelectorAll([data-title]) forEach → SplitText chars + autoAlpha 0 set; Flow 3: no measured linked input for timeline.to(flattened chars) → chars reveal when scroll reaches top 85%; Flow 4: no measured linked input for effect cleanup → context.revert and split.revert; Lifecycle mount-split-hide: no linked measurement; Lifecycle scroll-reveal-once: no linked measurement; Lifecycle unmount-revert: no linked measurement; No executable input histories; Connection connection-a0a122600ba8e08c2fe9: measure read current and its dependent outcome from initialization; Connection connection-06b068d5b9d51aa0fadc: measure read chars and its dependent outcome from initialization; Connection connection-3f98a419c763f810129e: measure read chars and its dependent outcome from initialization)
- desktop/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-runs-once-on-mount: no linked measurement; Fact ref-null-early-return: no linked measurement; Fact context-scoped-to-root: no linked measurement; Fact chars-split-per-title: no linked measurement; Fact chars-hidden-before-reveal: no linked measurement; Fact scrolltrigger-once-top-85: no linked measurement; Fact chars-tween-values: no linked measurement; Fact chars-fallback-empty-array: no linked measurement; Fact cleanup-reverts-context-and-splits: no linked measurement; Fact no-gate-observed: no linked measurement; Flow 0: no measured linked input for useEffect mount (deps []) → lRef.current null check; Flow 1: no measured linked input for gsap.context(callback, lRef_current) → scrollTrigger timeline created; Flow 2: no measured linked input for querySelectorAll([data-title]) forEach → SplitText chars + autoAlpha 0 set; Flow 3: no measured linked input for timeline.to(flattened chars) → chars reveal when scroll reaches top 85%; Flow 4: no measured linked input for effect cleanup → context.revert and split.revert; Lifecycle mount-split-hide: no linked measurement; Lifecycle scroll-reveal-once: no linked measurement; Lifecycle unmount-revert: no linked measurement; No executable input histories; Connection connection-a0a122600ba8e08c2fe9: measure read current and its dependent outcome from initialization; Connection connection-06b068d5b9d51aa0fadc: measure read chars and its dependent outcome from initialization; Connection connection-3f98a419c763f810129e: measure read chars and its dependent outcome from initialization)
- mobile/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-runs-once-on-mount: no linked measurement; Fact ref-null-early-return: no linked measurement; Fact context-scoped-to-root: no linked measurement; Fact chars-split-per-title: no linked measurement; Fact chars-hidden-before-reveal: no linked measurement; Fact scrolltrigger-once-top-85: no linked measurement; Fact chars-tween-values: no linked measurement; Fact chars-fallback-empty-array: no linked measurement; Fact cleanup-reverts-context-and-splits: no linked measurement; Fact no-gate-observed: no linked measurement; Flow 0: no measured linked input for useEffect mount (deps []) → lRef.current null check; Flow 1: no measured linked input for gsap.context(callback, lRef_current) → scrollTrigger timeline created; Flow 2: no measured linked input for querySelectorAll([data-title]) forEach → SplitText chars + autoAlpha 0 set; Flow 3: no measured linked input for timeline.to(flattened chars) → chars reveal when scroll reaches top 85%; Flow 4: no measured linked input for effect cleanup → context.revert and split.revert; Lifecycle mount-split-hide: no linked measurement; Lifecycle scroll-reveal-once: no linked measurement; Lifecycle unmount-revert: no linked measurement; No executable input histories; Connection connection-a0a122600ba8e08c2fe9: measure read current and its dependent outcome from initialization; Connection connection-06b068d5b9d51aa0fadc: measure read chars and its dependent outcome from initialization; Connection connection-3f98a419c763f810129e: measure read chars and its dependent outcome from initialization)
- mobile/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-runs-once-on-mount: no linked measurement; Fact ref-null-early-return: no linked measurement; Fact context-scoped-to-root: no linked measurement; Fact chars-split-per-title: no linked measurement; Fact chars-hidden-before-reveal: no linked measurement; Fact scrolltrigger-once-top-85: no linked measurement; Fact chars-tween-values: no linked measurement; Fact chars-fallback-empty-array: no linked measurement; Fact cleanup-reverts-context-and-splits: no linked measurement; Fact no-gate-observed: no linked measurement; Flow 0: no measured linked input for useEffect mount (deps []) → lRef.current null check; Flow 1: no measured linked input for gsap.context(callback, lRef_current) → scrollTrigger timeline created; Flow 2: no measured linked input for querySelectorAll([data-title]) forEach → SplitText chars + autoAlpha 0 set; Flow 3: no measured linked input for timeline.to(flattened chars) → chars reveal when scroll reaches top 85%; Flow 4: no measured linked input for effect cleanup → context.revert and split.revert; Lifecycle mount-split-hide: no linked measurement; Lifecycle scroll-reveal-once: no linked measurement; Lifecycle unmount-revert: no linked measurement; No executable input histories; Connection connection-a0a122600ba8e08c2fe9: measure read current and its dependent outcome from initialization; Connection connection-06b068d5b9d51aa0fadc: measure read chars and its dependent outcome from initialization; Connection connection-3f98a419c763f810129e: measure read chars and its dependent outcome from initialization)
- tablet/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-runs-once-on-mount: no linked measurement; Fact ref-null-early-return: no linked measurement; Fact context-scoped-to-root: no linked measurement; Fact chars-split-per-title: no linked measurement; Fact chars-hidden-before-reveal: no linked measurement; Fact scrolltrigger-once-top-85: no linked measurement; Fact chars-tween-values: no linked measurement; Fact chars-fallback-empty-array: no linked measurement; Fact cleanup-reverts-context-and-splits: no linked measurement; Fact no-gate-observed: no linked measurement; Flow 0: no measured linked input for useEffect mount (deps []) → lRef.current null check; Flow 1: no measured linked input for gsap.context(callback, lRef_current) → scrollTrigger timeline created; Flow 2: no measured linked input for querySelectorAll([data-title]) forEach → SplitText chars + autoAlpha 0 set; Flow 3: no measured linked input for timeline.to(flattened chars) → chars reveal when scroll reaches top 85%; Flow 4: no measured linked input for effect cleanup → context.revert and split.revert; Lifecycle mount-split-hide: no linked measurement; Lifecycle scroll-reveal-once: no linked measurement; Lifecycle unmount-revert: no linked measurement; No executable input histories; Connection connection-a0a122600ba8e08c2fe9: measure read current and its dependent outcome from initialization; Connection connection-06b068d5b9d51aa0fadc: measure read chars and its dependent outcome from initialization; Connection connection-3f98a419c763f810129e: measure read chars and its dependent outcome from initialization)
- tablet/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact effect-runs-once-on-mount: no linked measurement; Fact ref-null-early-return: no linked measurement; Fact context-scoped-to-root: no linked measurement; Fact chars-split-per-title: no linked measurement; Fact chars-hidden-before-reveal: no linked measurement; Fact scrolltrigger-once-top-85: no linked measurement; Fact chars-tween-values: no linked measurement; Fact chars-fallback-empty-array: no linked measurement; Fact cleanup-reverts-context-and-splits: no linked measurement; Fact no-gate-observed: no linked measurement; Flow 0: no measured linked input for useEffect mount (deps []) → lRef.current null check; Flow 1: no measured linked input for gsap.context(callback, lRef_current) → scrollTrigger timeline created; Flow 2: no measured linked input for querySelectorAll([data-title]) forEach → SplitText chars + autoAlpha 0 set; Flow 3: no measured linked input for timeline.to(flattened chars) → chars reveal when scroll reaches top 85%; Flow 4: no measured linked input for effect cleanup → context.revert and split.revert; Lifecycle mount-split-hide: no linked measurement; Lifecycle scroll-reveal-once: no linked measurement; Lifecycle unmount-revert: no linked measurement; No executable input histories; Connection connection-a0a122600ba8e08c2fe9: measure read current and its dependent outcome from initialization; Connection connection-06b068d5b9d51aa0fadc: measure read chars and its dependent outcome from initialization; Connection connection-3f98a419c763f810129e: measure read chars and its dependent outcome from initialization)
- title-split-char-reveal/connection/connection-a0a122600ba8e08c2fe9: requirement has no executable check
- title-split-char-reveal/connection/connection-06b068d5b9d51aa0fadc: requirement has no executable check
- title-split-char-reveal/connection/connection-3f98a419c763f810129e: requirement has no executable check
- title-split-char-reveal/fact/effect-runs-once-on-mount: requirement has no executable check
- title-split-char-reveal/fact/ref-null-early-return: requirement has no executable check
- title-split-char-reveal/fact/context-scoped-to-root: requirement has no executable check
- title-split-char-reveal/fact/chars-split-per-title: requirement has no executable check
- title-split-char-reveal/fact/chars-hidden-before-reveal: requirement has no executable check
- title-split-char-reveal/fact/scrolltrigger-once-top-85: requirement has no executable check
- title-split-char-reveal/fact/chars-tween-values: requirement has no executable check
- title-split-char-reveal/fact/chars-fallback-empty-array: requirement has no executable check
- title-split-char-reveal/fact/cleanup-reverts-context-and-splits: requirement has no executable check
- title-split-char-reveal/fact/no-gate-observed: requirement has no executable check
- title-split-char-reveal/flow/1: requirement has no executable check
- title-split-char-reveal/flow/2: requirement has no executable check
- title-split-char-reveal/flow/3: requirement has no executable check
- title-split-char-reveal/flow/4: requirement has no executable check
- title-split-char-reveal/flow/5: requirement has no executable check
- title-split-char-reveal/lifecycle/mount-split-hide: requirement has no executable check
- title-split-char-reveal/lifecycle/scroll-reveal-once: requirement has no executable check
- title-split-char-reveal/lifecycle/unmount-revert: requirement has no executable check
- callback at line 1123: 1 pending and 0 blocked source obligations
Section component at line 815 of module 26dfe60eaada7f805c6d69bcdcecd851:0 owns three refs (jRef sticky item, NRef section root, SRef h2 title). Effect 1 (deps []) observes the first <p> inside jRef with a ResizeObserver and sets every .spacer under NRef to e.offsetHeight + 10 px; it disconnects on cleanup. Effect 2 (deps [T], T = preloaderFinishedAtom) returns early unless NRef and the [data-title] span exist; inside gsap.context scoped to NRef it creates SplitText type words on the title, sets words to autoAlpha 0 / y 10, and only when T is truthy creates a timeline with ScrollTrigger start "top 85%", once true, that tweens words to autoAlpha 1 / y 0 (duration 1, stagger 0.04, ease expo.out). Cleanup reverts the context and the SplitText. Layout branches on isRight (alignment === "right") and media presence.
Next: Plan an applicable input history and assertions
0/0 assertions calibrated · 0 unchanged mappings retained
Targets: [data-title], .spacer, h2[class~="text-h1"][class~="text-balance"]
- Cleanup of effect 1 calls the ResizeObserver disconnect.
- The scroll-reveal timeline is created only if the preloaderFinished atom value T is truthy; when T is falsy the words remain at autoAlpha 0 / y 10 with no tween.
- Cleanup reverts the gsap context and the SplitText instance e.
| Input | Conditions and history | Evidence |
|---|
| Assertion | Target and measurement | Result |
|---|
- section-title-split-spacer-sync/connection/connection-17d20de803387121dcd4: pending
- section-title-split-spacer-sync/connection/connection-b66e759ab6fc997cd032: pending
- section-title-split-spacer-sync/connection/connection-fca677b1f5fd229519c4: pending
- section-title-split-spacer-sync/connection/connection-d5f8f2eae8461e984ba5: pending
- section-title-split-spacer-sync/connection/connection-60f10fc03282b864dcbe: pending
- section-title-split-spacer-sync/fact/spacer-height-from-p: pending
- section-title-split-spacer-sync/fact/spacer-observer-cleanup: pending
- section-title-split-spacer-sync/fact/split-words-initial-hidden: pending
- section-title-split-spacer-sync/fact/split-reveal-gated-by-preloader: pending
- section-title-split-spacer-sync/fact/split-reveal-tween: pending
- section-title-split-spacer-sync/fact/split-cleanup: pending
- section-title-split-spacer-sync/fact/split-deps-preloader: pending
- section-title-split-spacer-sync/flow/1: pending
- section-title-split-spacer-sync/flow/2: pending
- section-title-split-spacer-sync/flow/3: pending
- section-title-split-spacer-sync/flow/4: pending
- ResizeObserver is an external input; spacer heights only update when the observer callback fires. Initial sync before the first observation is not shown by this source.
- preloaderFinishedAtom value timing and whether it is true on a cold first visit is not resolved statically; this is the main readiness dependency.
- isRight and media branches only change class/order and are not measured in this feature.
- Reduced-motion has no guard in this callback; any reduced-motion handling lives outside this function and remains unknown.
- Constant lexical aliases and string expressions are resolved statically. Mutable values, object properties, dynamic imports and runtime dispatch remain unresolved. Import/export links and branch guards are syntax evidence, not proof of execution.
- External caller input ResizeObserver required at 26dfe60eaada7f805c6d69bcdcecd851:0:823
- External caller input ResizeObserver required at 26dfe60eaada7f805c6d69bcdcecd851:0:829
- External input ResizeObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:35618:41124
- External input ResizeObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:36052:36644
- 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:36709:36710: mutable writes retain source context; their runtime order is not established
- External input ResizeObserver required by 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:36298:36544
- 26dfe60eaada7f805c6d69bcdcecd851:0/5507a64ebc1f950af553:31372:31373: Enclosing parameter e must be bound from its original caller
- Fact spacer-height-from-p: no linked measurement
- Fact spacer-observer-cleanup: no linked measurement
- Fact split-words-initial-hidden: no linked measurement
- Fact split-reveal-gated-by-preloader: no linked measurement
- Fact split-reveal-tween: no linked measurement
- Fact split-cleanup: no linked measurement
- Fact split-deps-preloader: no linked measurement
- Flow 0: no measured linked input for render → effect-spacer-sync
- Flow 1: no measured linked input for effect-spacer-sync → observer-callback
- Flow 2: no measured linked input for effect-split → gsap-context
- Flow 3: no measured linked input for gsap-context → scroll-reveal-timeline
- Initialization/cleanup has no explicit lifecycle plan
- No executable input histories
- Connection connection-17d20de803387121dcd4: measure read current and its dependent outcome from initialization
- Connection connection-b66e759ab6fc997cd032: measure read current and its dependent outcome from initialization
- Connection connection-fca677b1f5fd229519c4: measure read current and its dependent outcome from initialization
- Connection connection-d5f8f2eae8461e984ba5: measure write height and its dependent outcome from initialization
- Connection connection-60f10fc03282b864dcbe: measure read words and its dependent outcome from initialization
- desktop/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact spacer-height-from-p: no linked measurement; Fact spacer-observer-cleanup: no linked measurement; Fact split-words-initial-hidden: no linked measurement; Fact split-reveal-gated-by-preloader: no linked measurement; Fact split-reveal-tween: no linked measurement; Fact split-cleanup: no linked measurement; Fact split-deps-preloader: no linked measurement; Flow 0: no measured linked input for render → effect-spacer-sync; Flow 1: no measured linked input for effect-spacer-sync → observer-callback; Flow 2: no measured linked input for effect-split → gsap-context; Flow 3: no measured linked input for gsap-context → scroll-reveal-timeline; Initialization/cleanup has no explicit lifecycle plan; No executable input histories; Connection connection-17d20de803387121dcd4: measure read current and its dependent outcome from initialization; Connection connection-b66e759ab6fc997cd032: measure read current and its dependent outcome from initialization; Connection connection-fca677b1f5fd229519c4: measure read current and its dependent outcome from initialization; Connection connection-d5f8f2eae8461e984ba5: measure write height and its dependent outcome from initialization; Connection connection-60f10fc03282b864dcbe: measure read words and its dependent outcome from initialization)
- desktop/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact spacer-height-from-p: no linked measurement; Fact spacer-observer-cleanup: no linked measurement; Fact split-words-initial-hidden: no linked measurement; Fact split-reveal-gated-by-preloader: no linked measurement; Fact split-reveal-tween: no linked measurement; Fact split-cleanup: no linked measurement; Fact split-deps-preloader: no linked measurement; Flow 0: no measured linked input for render → effect-spacer-sync; Flow 1: no measured linked input for effect-spacer-sync → observer-callback; Flow 2: no measured linked input for effect-split → gsap-context; Flow 3: no measured linked input for gsap-context → scroll-reveal-timeline; Initialization/cleanup has no explicit lifecycle plan; No executable input histories; Connection connection-17d20de803387121dcd4: measure read current and its dependent outcome from initialization; Connection connection-b66e759ab6fc997cd032: measure read current and its dependent outcome from initialization; Connection connection-fca677b1f5fd229519c4: measure read current and its dependent outcome from initialization; Connection connection-d5f8f2eae8461e984ba5: measure write height and its dependent outcome from initialization; Connection connection-60f10fc03282b864dcbe: measure read words and its dependent outcome from initialization)
- mobile/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact spacer-height-from-p: no linked measurement; Fact spacer-observer-cleanup: no linked measurement; Fact split-words-initial-hidden: no linked measurement; Fact split-reveal-gated-by-preloader: no linked measurement; Fact split-reveal-tween: no linked measurement; Fact split-cleanup: no linked measurement; Fact split-deps-preloader: no linked measurement; Flow 0: no measured linked input for render → effect-spacer-sync; Flow 1: no measured linked input for effect-spacer-sync → observer-callback; Flow 2: no measured linked input for effect-split → gsap-context; Flow 3: no measured linked input for gsap-context → scroll-reveal-timeline; Initialization/cleanup has no explicit lifecycle plan; No executable input histories; Connection connection-17d20de803387121dcd4: measure read current and its dependent outcome from initialization; Connection connection-b66e759ab6fc997cd032: measure read current and its dependent outcome from initialization; Connection connection-fca677b1f5fd229519c4: measure read current and its dependent outcome from initialization; Connection connection-d5f8f2eae8461e984ba5: measure write height and its dependent outcome from initialization; Connection connection-60f10fc03282b864dcbe: measure read words and its dependent outcome from initialization)
- mobile/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact spacer-height-from-p: no linked measurement; Fact spacer-observer-cleanup: no linked measurement; Fact split-words-initial-hidden: no linked measurement; Fact split-reveal-gated-by-preloader: no linked measurement; Fact split-reveal-tween: no linked measurement; Fact split-cleanup: no linked measurement; Fact split-deps-preloader: no linked measurement; Flow 0: no measured linked input for render → effect-spacer-sync; Flow 1: no measured linked input for effect-spacer-sync → observer-callback; Flow 2: no measured linked input for effect-split → gsap-context; Flow 3: no measured linked input for gsap-context → scroll-reveal-timeline; Initialization/cleanup has no explicit lifecycle plan; No executable input histories; Connection connection-17d20de803387121dcd4: measure read current and its dependent outcome from initialization; Connection connection-b66e759ab6fc997cd032: measure read current and its dependent outcome from initialization; Connection connection-fca677b1f5fd229519c4: measure read current and its dependent outcome from initialization; Connection connection-d5f8f2eae8461e984ba5: measure write height and its dependent outcome from initialization; Connection connection-60f10fc03282b864dcbe: measure read words and its dependent outcome from initialization)
- tablet/standard-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact spacer-height-from-p: no linked measurement; Fact spacer-observer-cleanup: no linked measurement; Fact split-words-initial-hidden: no linked measurement; Fact split-reveal-gated-by-preloader: no linked measurement; Fact split-reveal-tween: no linked measurement; Fact split-cleanup: no linked measurement; Fact split-deps-preloader: no linked measurement; Flow 0: no measured linked input for render → effect-spacer-sync; Flow 1: no measured linked input for effect-spacer-sync → observer-callback; Flow 2: no measured linked input for effect-split → gsap-context; Flow 3: no measured linked input for gsap-context → scroll-reveal-timeline; Initialization/cleanup has no explicit lifecycle plan; No executable input histories; Connection connection-17d20de803387121dcd4: measure read current and its dependent outcome from initialization; Connection connection-b66e759ab6fc997cd032: measure read current and its dependent outcome from initialization; Connection connection-fca677b1f5fd229519c4: measure read current and its dependent outcome from initialization; Connection connection-d5f8f2eae8461e984ba5: measure write height and its dependent outcome from initialization; Connection connection-60f10fc03282b864dcbe: measure read words and its dependent outcome from initialization)
- tablet/reduced-motion: measure applicable input/lifecycle histories or its inactive source guard (Fact spacer-height-from-p: no linked measurement; Fact spacer-observer-cleanup: no linked measurement; Fact split-words-initial-hidden: no linked measurement; Fact split-reveal-gated-by-preloader: no linked measurement; Fact split-reveal-tween: no linked measurement; Fact split-cleanup: no linked measurement; Fact split-deps-preloader: no linked measurement; Flow 0: no measured linked input for render → effect-spacer-sync; Flow 1: no measured linked input for effect-spacer-sync → observer-callback; Flow 2: no measured linked input for effect-split → gsap-context; Flow 3: no measured linked input for gsap-context → scroll-reveal-timeline; Initialization/cleanup has no explicit lifecycle plan; No executable input histories; Connection connection-17d20de803387121dcd4: measure read current and its dependent outcome from initialization; Connection connection-b66e759ab6fc997cd032: measure read current and its dependent outcome from initialization; Connection connection-fca677b1f5fd229519c4: measure read current and its dependent outcome from initialization; Connection connection-d5f8f2eae8461e984ba5: measure write height and its dependent outcome from initialization; Connection connection-60f10fc03282b864dcbe: measure read words and its dependent outcome from initialization)
- section-title-split-spacer-sync/connection/connection-17d20de803387121dcd4: requirement has no executable check
- section-title-split-spacer-sync/connection/connection-b66e759ab6fc997cd032: requirement has no executable check
- section-title-split-spacer-sync/connection/connection-fca677b1f5fd229519c4: requirement has no executable check
- section-title-split-spacer-sync/connection/connection-d5f8f2eae8461e984ba5: requirement has no executable check
- section-title-split-spacer-sync/connection/connection-60f10fc03282b864dcbe: requirement has no executable check
- section-title-split-spacer-sync/fact/spacer-height-from-p: requirement has no executable check
- section-title-split-spacer-sync/fact/spacer-observer-cleanup: requirement has no executable check
- section-title-split-spacer-sync/fact/split-words-initial-hidden: requirement has no executable check
- section-title-split-spacer-sync/fact/split-reveal-gated-by-preloader: requirement has no executable check
- section-title-split-spacer-sync/fact/split-reveal-tween: requirement has no executable check
- section-title-split-spacer-sync/fact/split-cleanup: requirement has no executable check
- section-title-split-spacer-sync/fact/split-deps-preloader: requirement has no executable check
- section-title-split-spacer-sync/flow/1: requirement has no executable check
- section-title-split-spacer-sync/flow/2: requirement has no executable check
- section-title-split-spacer-sync/flow/3: requirement has no executable check
- section-title-split-spacer-sync/flow/4: requirement has no executable check
- callback at line 815: 38 pending and 0 blocked source obligations
- callback at line 1194 ([data-rt-heading], [data-rt-block]): 9 pending, 0 blocked
initialization at line 1194: Not analyzed
animation at line 1197: Not analyzed
animation at line 1206: Not analyzed
condition at line 1211: Not analyzed
animation at line 1214: Not analyzed
condition at line 1221: Not analyzed
animation at line 1222: Not analyzed
condition at line 1230: Not analyzed
animation at line 1231: Not analyzed
- callback at line 1999 ([data-rt-heading], [data-rt-block]): 6 pending, 0 blocked
initialization at line 1999: Not analyzed
animation at line 2002: Not analyzed
animation at line 2011: Not analyzed
animation at line 2019: Not analyzed
condition at line 2026: Not analyzed
condition at line 2035: Not analyzed
- callback at line 102 ([data-slice-key]): 11 pending, 0 blocked
trigger at line 103: Not analyzed
trigger at line 103: Not analyzed
condition at line 106: Not analyzed
animation at line 107: Not analyzed
condition at line 121: Not analyzed
condition at line 122: Not analyzed
condition at line 129: Not analyzed
condition at line 133: Not analyzed
condition at line 143: Not analyzed
cleanup at line 154: Not analyzed
cleanup at line 155: Not analyzed
- callback at line 815 (.spacer, [data-title]): 38 pending, 0 blocked
initialization at line 815: Not analyzed
condition at line 716: Not analyzed
condition at line 719: Not analyzed
condition at line 721: Not analyzed
condition at line 727: Not analyzed
trigger at line 734: Not analyzed
condition at line 740: Not analyzed
condition at line 740: Not analyzed
condition at line 743: Not analyzed
animation at line 746: Not analyzed
condition at line 749: Not analyzed
animation at line 751: Not analyzed
condition at line 754: Not analyzed
animation at line 756: Not analyzed
animation at line 767: Not analyzed
animation at line 777: Not analyzed
animation at line 787: Not analyzed
cleanup at line 787: Not analyzed
condition at line 791: Not analyzed
condition at line 792: Not analyzed
cleanup at line 796: Not analyzed
cleanup at line 796: Not analyzed
condition at line 806: Not analyzed
condition at line 817: Not analyzed
condition at line 826: Not analyzed
condition at line 826: Not analyzed
trigger at line 829: Not analyzed
trigger at line 829: Not analyzed
cleanup at line 835: Not analyzed
condition at line 841: Not analyzed
condition at line 841: Not analyzed
animation at line 848: Not analyzed
animation at line 853: Not analyzed
cleanup at line 869: Not analyzed
cleanup at line 870: Not analyzed
condition at line 884: Not analyzed
condition at line 903: Not analyzed
condition at line 905: Not analyzed
- callback at line 1282 ([data-title]): 6 pending, 0 blocked
initialization at line 1282: Not analyzed
animation at line 1288: Not analyzed
condition at line 1293: Not analyzed
animation at line 1294: Not analyzed
animation at line 1294: Not analyzed
condition at line 1301: Not analyzed
- callback at line 1123 ([data-title]): 1 pending, 0 blocked
animation at line 1136: Not analyzed
- callback at line 1741 ([data-title]): 1 pending, 0 blocked
animation at line 1747: Not analyzed
- callback at line 1562 ([data-title]): 9 pending, 0 blocked
initialization at line 1562: Not analyzed
animation at line 1567: Not analyzed
condition at line 1572: Not analyzed
animation at line 1576: Not analyzed
condition at line 1581: Not analyzed
animation at line 1584: Not analyzed
condition at line 1591: Not analyzed
animation at line 1592: Not analyzed
animation at line 1600: Not analyzed
- callback at line 1046 ([data-title]): 7 pending, 0 blocked
initialization at line 1046: Not analyzed
condition at line 1048: Not analyzed
animation at line 1052: Not analyzed
condition at line 1057: Not analyzed
animation at line 1060: Not analyzed
condition at line 1067: Not analyzed
animation at line 1068: Not analyzed
| Target | Input / viewport | Coverage and exclusions |
|---|---|---|
| #d5bb345e2eaa > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / desktop | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > a:nth-of-type(1) | click / mobile | 1 observed · 1 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > a:nth-of-type(1) | click / tablet | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > a:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > a:nth-of-type(1) | hover / tablet | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1) | hover / desktop | 0 observed · 3 unresolved · 0 excluded No exposed hover point for Menu |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > a:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > a:nth-of-type(1) | focus / tablet | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(4) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(1) | navigate / tablet | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(3) | navigate / desktop | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(4) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(1) | hover / tablet | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > button:nth-of-type(1) | click / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(1) | focus / tablet | 0 observed · 3 unresolved · 0 excluded |
| body > div:nth-of-type(3) > footer:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > a:nth-of-type(1) | navigate / desktop | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > button:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(2) | navigate / tablet | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > button:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(2) | hover / tablet | 0 observed · 3 unresolved · 0 excluded |
| body > div:nth-of-type(3) > footer:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > table:nth-of-type(1) > tbody:nth-of-type(1) > tr:nth-of-type(2) > td:nth-of-type(1) > address:nth-of-type(1) > div:nth-of-type(1) > p:nth-of-type(1) > a:nth-of-type(1) | focus / desktop | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | click / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(2) | focus / tablet | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(3) | navigate / tablet | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / desktop | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(3) | hover / tablet | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1) | click / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(3) | focus / tablet | 0 observed · 3 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(1) | navigate / desktop | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(4) | hover / tablet | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #\32 60a041f0750 > div:nth-of-type(3) > div:nth-of-type(1) > nav:nth-of-type(1) > a:nth-of-type(4) | focus / tablet | 0 observed · 3 unresolved · 0 excluded |
| body > div:nth-of-type(3) > footer:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > table:nth-of-type(1) > tbody:nth-of-type(1) > tr:nth-of-type(2) > td:nth-of-type(1) > address:nth-of-type(1) > div:nth-of-type(1) > p:nth-of-type(1) > a:nth-of-type(2) | hover / desktop | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > a:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | click / tablet | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > a:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / tablet | 0 observed · 3 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | click / desktop | 0 observed · 3 unresolved · 0 excluded |
| #d5bb345e2eaa > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / tablet | 0 observed · 3 unresolved · 0 excluded |
| #a63f63099d3f > div:nth-of-type(2) > a:nth-of-type(1) | hover / desktop | 1 observed · 2 unresolved · 0 excluded |
| #d5bb345e2eaa > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > a:nth-of-type(1) | focus / mobile | 0 observed · 2 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1) | click / tablet | 0 observed · 3 unresolved · 0 excluded locator.click: Timeout 5000ms exceeded. Call log: - waiting for locator('#page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1)').visible() - locator resolved to <button type="button" data-xnap-observed-target="" data-xnap-id="target-18cbjfh" class="inline-block leading-[inherit] dot-hover dot-outside py-[1.25em] text-left">Menu</button> - attempting click action 2 × waiting for element to be visible, enabled and stable - element |
| #a63f63099d3f > div:nth-of-type(2) > a:nth-of-type(1) | navigate / mobile | 0 observed · 2 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1) | hover / tablet | 0 observed · 3 unresolved · 0 excluded |
| #a63f63099d3f > div:nth-of-type(2) > a:nth-of-type(1) | hover / mobile | 0 observed · 2 unresolved · 0 excluded |
| #page-content > header:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1) | focus / tablet | 0 observed · 3 unresolved · 0 excluded |
- https://www.odysseeclinic.com.au/_next/static/chunks/0c4vo7lg2di3r.js?dpl=dpl_BgLS3Tf4iR2L6YTHZdS7S3UhDCCj: Script count limit exceeded
- https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js?dpl=dpl_BgLS3Tf4iR2L6YTHZdS7S3UhDCCj: Script count limit exceeded
- https://www.odysseeclinic.com.au/_next/static/chunks/02omy4zi4tnwb.js?dpl=dpl_BgLS3Tf4iR2L6YTHZdS7S3UhDCCj: Script count limit exceeded
- https://www.odysseeclinic.com.au/_next/static/chunks/09v3hk6cq8q8h.js?dpl=dpl_BgLS3Tf4iR2L6YTHZdS7S3UhDCCj: Script count limit exceeded
- https://www.odysseeclinic.com.au/#inline-39: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-40: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-44: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-49: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-25: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-24: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-23: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-14: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-11: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-22: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-28: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-9: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-47: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-26: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-29: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-27: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-30: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-34: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-21: Prior script omitted by evidence budget
- https://www.odysseeclinic.com.au/#inline-31: Prior script omitted by evidence budget
- Source feature slice-key-intersection-tracker has an incomplete measurement plan; mapped source facts do not establish execution or verification.
- Source feature rt-heading-block-reveal has an incomplete measurement plan; mapped source facts do not establish execution or verification.
- Source feature title-split-word-reveal has an incomplete measurement plan; mapped source facts do not establish execution or verification.
- Source feature title-split-char-reveal has an incomplete measurement plan; mapped source facts do not establish execution or verification.
- Source feature section-title-split-spacer-sync has an incomplete measurement plan; mapped source facts do not establish execution or verification.
- New source or interaction evidence awaits analyst review.
- 67 runtime source locations exceed the 32-location module-prioritization allowance; inspect_runtime_sources can investigate them explicitly.
- 170 declarative source coverage gaps; inspect component nodes. e9e7a5194b3d04768d4d99801a52cc12:0:13: Element factory receiver is unresolved; confirm its framework and event semantics; e9e7a5194b3d04768d4d99801a52cc12:0:19: Element factory receiver is unresolved; confirm its framework and event semantics; e9e7a5194b3d04768d4d99801a52cc12:0:19: Declarative handlers do not match the captured DOM; applicability remains unverified
- 5 source modules retain unresolved declarative behavior; inspect their component nodes before certification.
- 1 captured modules have not been selected for behavior indexing; DOM text and observed runtime locations prioritize leads, not exhaustive coverage.
- Source behavior callback at line 1194 ([data-rt-heading], [data-rt-block]) has 9 unreviewed obligations.
- Source behavior callback at line 1999 ([data-rt-heading], [data-rt-block]) has 6 unreviewed obligations.
- Source behavior callback at line 102 ([data-slice-key]) has 11 unreviewed obligations.
- Source behavior callback at line 815 (.spacer, [data-title]) has 38 unreviewed obligations.
- Source behavior callback at line 1282 ([data-title]) has 6 unreviewed obligations.
- Source behavior callback at line 1123 ([data-title]) has 1 unreviewed obligations.
- Source behavior callback at line 1741 ([data-title]) has 1 unreviewed obligations.
- Source behavior callback at line 1562 ([data-title]) has 9 unreviewed obligations.
- Source behavior callback at line 1046 ([data-title]) has 7 unreviewed obligations.
- Slice-key IntersectionObserver registry with MutationObserver lifecycle: 79 behavior verification gaps remain.
- Preloader-gated heading and block reveal (RT section): 46 behavior verification gaps remain.
- Title split-word reveal (input.js useEffect keyed on preloader): 52 behavior verification gaps remain.
- Title character split reveal on [data-title] spans (mount-time, scroll-triggered once): 56 behavior verification gaps remain.
- Section title word reveal with spacer height sync (callback at line 815): 52 behavior verification gaps remain.
- 92 source requirements have no current implementation mapping.
- 4 planned source assertions remain unverified.
- Unsupported CSS interaction selector: .link-opacity-inverted:not(:hover).group:has(a:hover) *
- Unsupported CSS interaction selector: .link-opacity-inverted.group:has(a:hover) *
- Unsupported CSS interaction selector: .not-hover\:underline:not(:hover)
- Unsupported CSS interaction selector: .group-has-\[\.peer\:hover\]\:opacity-0.group:has(.peer:hover) *
- Global click listener requires source-directed or observed event targets
- Interaction evidence is limited to 12 leads per element
- Global focusin listener requires source-directed or observed event targets
- Global focusout listener requires source-directed or observed event targets
- Repeated callback executions retain counts and four samples per registration/phase
- Runtime attribution limited to 100 records per phase and 2400 per visit
- Asset exceeds 15000000 bytes: https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112,3251,3362,4523&fp-x=0.5160088956512576&fp-y=0.651393432454424&w=2560&h=3158&q=90&fit=crop&crop=focalpoint&auto=format
- Asset exceeds 15000000 bytes: https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112,3251,3362,4523&fp-x=0.5160088956512576&fp-y=0.651393432454424&w=3200&h=3947&q=90&fit=crop&crop=focalpoint&auto=format
- Asset dependency unavailable: https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112,3251,3362,4523&fp-x=0.5160088956512576&fp-y=0.651393432454424&w=2560&h=3158&q=90&fit=crop&crop=focalpoint&auto=format
- Asset dependency unavailable: https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112,3251,3362,4523&fp-x=0.5160088956512576&fp-y=0.651393432454424&w=3200&h=3947&q=90&fit=crop&crop=focalpoint&auto=format
- Asset exceeds 15000000 bytes: https://cdn.sanity.io/images/jk7ok3ks/production/d79b706712ca778de35a2204f49c5a51ebd8d6f3-8192x5464.png/SHOT07_00660.png?rect=1821,1112,3097,3965&fp-x=0.41133750690075394&fp-y=0.6308382340407397&w=2560&h=3158&q=90&fit=crop&crop=focalpoint&auto=format
- Asset dependency unavailable: https://cdn.sanity.io/images/jk7ok3ks/production/d79b706712ca778de35a2204f49c5a51ebd8d6f3-8192x5464.png/SHOT07_00660.png?rect=1821,1112,3097,3965&fp-x=0.41133750690075394&fp-y=0.6308382340407397&w=2560&h=3158&q=90&fit=crop&crop=focalpoint&auto=format
- HLS video export failed: [data-xnap-media="v0"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v1"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v2"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v3"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v4"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v5"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v6"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v7"]: Blob video has no observed HLS player association
Revision 23 · 11 observations
Stage 417 · run attempt 1 · execution 1 · 167.9s
Loading handoff…
Candidate 18 · source revision 9
Stage 707 · run attempt 1 · execution 1 · 589.6s
Loading handoff…
Iteration 1 · built
Stage 725 · run attempt 1 · execution 1 · 12.2s
Loading handoff…
Evaluation 31 · revision 23
Stage 1026 · run attempt 1 · execution 1 · 297.8s
Loading handoff…
Observed states
11
In reference revision 23
Visual similarity · recorded states
38.79%
Image closeness; see verification scope above
Observations passing
0 / 11
All recorded checks for each state
Coverage remaining
905
Pending, blocked or limited actions
desktop · initial
1440 × 900 · desktop-initial
Checks for this observation
Live reference evidence is missing, stale or unstable. Recapture or resolve the reported evidence issue before judging motion. Elements that cannot repeat across loads (media v0, media v1, media v2, media v3, media v4) are excluded from pixel checks and remain unverified.
- Live reference is unverified: Live reference entry: pixels, readiness failed; Cold-entry document content differs from the recorded page; Live reference resting: pixels failed; rendered frames differ across independent loads; Live reference section-1: pixels failed; rendered frames differ across independent loads; Live reference section-6: pixels failed; rendered frames differ across independent loads
29.76% pixels differ · 0.50% allowed in this still image
Recorded actions and visible content in this observation.
- Missing visible control d5bb345e2eaa
- Missing visible control 124f8c78a2cc1bd5c3d892fa5987b954
- Missing visible control target-7cx782
- Missing visible control a63f63099d3f
- Missing visible control target-xbui79
- Missing visible control target-djlr2p
Recorded control attributes and keyboard focus.
Sampled intermediate states along the recorded input sequence.
Motion was not scored because the offline recording has not matched the live page. Reference evidence needs attention first.
- Cold-entry reference has not independently matched the live page.
- Page section 1 has not independently matched the live page.
- Page section 6 has not independently matched the live page.
No executable source assertions were measured for this observation.
No horizontal overflow at this viewport size.
8 external or unrecorded requests during this observation
- https://cdn.sanity.io/images/jk7ok3ks/production/7b0fe4636ce1a622cb71e46f97ce9e27cf6bac7a-2821x1667.jpg/SHOT02_0309.jpg?rect=134
- https://cdn.sanity.io/images/jk7ok3ks/production/e15987c97e76d4c3d6521ea669903d5a3a70569b-1668x2500.jpg/e15987c97e76d4c3d6521ea669903d5a3a70569b.jpg?rect=1
- https://cdn.sanity.io/images/jk7ok3ks/production/e007bf68879e72e879605abf15f147bac664a2bd-2001x3000.jpg/SHOT05_00410_Web.jpg?rect=0
- https://cdn.sanity.io/images/jk7ok3ks/production/8f5c091f5a453bdd3196efd191589789f15e5318-7934x5292.jpg/SHOT01_0106_Web.jpg?rect=1282
- https://cdn.sanity.io/images/jk7ok3ks/production/c762884e694a9e04d78ceae2b04aba058518c1fe-2500x1667.jpg/SHOT02_0300_collaged_Web.jpg?rect=147
- https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112
- https://cdn.sanity.io/images/jk7ok3ks/production/d79b706712ca778de35a2204f49c5a51ebd8d6f3-8192x5464.png/SHOT07_00660.png?rect=1821
- https://cdn.sanity.io/images/jk7ok3ks/production/854e3909493c914faad6408954aa816f8b3650e0-4096x2732.jpg/854e3909493c914faad6408954aa816f8b3650e0.jpg?rect=0
9 recorded errors
- Video frame differs from captured time: [data-xnap-media="v0"]; expected 0.68, actual {"selector":"[data-xnap-media=\"v0\"]","src":"blob:https://www.odysseeclinic.com.au/c12bafa6-c942-4250-8614-58742ecb19ba","playing":false,"perceivable":true,"autoplay":true,"muted":true,"loop":true,"playsInline":true,"width":0,"height":0,"stream":null,"time":0.681,"ready":false,"duration":null,"seekable":[],"error":"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check","clockTime":0.681}
- Video frame differs from captured time: [data-xnap-media="v1"]; expected 4.442666, actual {"selector":"[data-xnap-media=\"v1\"]","src":"blob:https://www.odysseeclinic.com.au/d3b11ae7-ea83-4b60-ab54-6d8453278055","playing":false,"perceivable":true,"autoplay":false,"muted":true,"loop":true,"playsInline":true,"width":0,"height":0,"stream":null,"time":4.443666,"ready":false,"duration":null,"seekable":[],"error":"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check","clockTime":4.443666}
- Video frame differs from captured time: [data-xnap-media="v2"]; expected 4.964, actual {"selector":"[data-xnap-media=\"v2\"]","src":"blob:https://www.odysseeclinic.com.au/5cca0f20-1dfa-418b-b27b-cf71523817ed","playing":false,"perceivable":true,"autoplay":false,"muted":true,"loop":true,"playsInline":true,"width":0,"height":0,"stream":null,"time":4.965000000000001,"ready":false,"duration":null,"seekable":[],"error":"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check","clockTime":4.965000000000001}
- Video frame differs from captured time: [data-xnap-media="v3"]; expected 4.842666, actual {"selector":"[data-xnap-media=\"v3\"]","src":"blob:https://www.odysseeclinic.com.au/3ff5e47f-814b-476a-86dd-002d6b75be3b","playing":false,"perceivable":true,"autoplay":false,"muted":true,"loop":true,"playsInline":true,"width":0,"height":0,"stream":null,"time":4.843666000000001,"ready":false,"duration":null,"seekable":[],"error":"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check","clockTime":4.843666000000001}
- Video frame differs from captured time: [data-xnap-media="v4"]; expected 3.962666, actual {"selector":"[data-xnap-media=\"v4\"]","src":"blob:https://www.odysseeclinic.com.au/f4f290fc-9ef3-43b6-a267-3691091de01e","playing":false,"perceivable":true,"autoplay":true,"muted":true,"loop":true,"playsInline":true,"width":0,"height":0,"stream":null,"time":3.963666,"ready":false,"duration":null,"seekable":[],"error":"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check","clockTime":3.963666}
- Video frame differs from captured time: [data-xnap-media="v5"]; expected 2.08, actual {"selector":"[data-xnap-media=\"v5\"]","src":"blob:https://www.odysseeclinic.com.au/5432558a-8a5d-4de8-b357-c7dc227b8bb8","playing":false,"perceivable":true,"autoplay":false,"muted":true,"loop":true,"playsInline":true,"width":0,"height":0,"stream":null,"time":2.081,"ready":false,"duration":null,"seekable":[],"error":"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check","clockTime":2.081}
- Video frame differs from captured time: [data-xnap-media="v6"]; expected 2.130667, actual {"selector":"[data-xnap-media=\"v6\"]","src":"blob:https://www.odysseeclinic.com.au/60a7ec62-5f0f-4f1d-96d5-39db0fee8aad","playing":false,"perceivable":true,"autoplay":false,"muted":true,"loop":true,"playsInline":true,"width":0,"height":0,"stream":null,"time":2.1316669999999998,"ready":false,"duration":null,"seekable":[],"error":"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check","clockTime":2.1316669999999998}
- Video frame differs from captured time: [data-xnap-media="v7"]; expected 2.166666, actual {"selector":"[data-xnap-media=\"v7\"]","src":"blob:https://www.odysseeclinic.com.au/94d8bb33-d8b7-49e7-be82-7c50b31083f3","playing":false,"perceivable":true,"autoplay":false,"muted":true,"loop":true,"playsInline":true,"width":0,"height":0,"stream":null,"time":2.167666,"ready":false,"duration":null,"seekable":[],"error":"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check","clockTime":2.167666}
- Visible text differs from the captured reference state: missing 3 passage(s), e.g. "At Odyssée, we prioritise a personalised approach. Visit our Hunters Hill space for a transformative experience in your aesthetic journey."; "BESPOKE MEDICAL AESTHETIC OUR PHILOSOPHY Every treatment at Odyssée is grounded in evidence-based medicine and the latest advances in aesthetic science. Our pra…"; "BESPOKE MEDICAL AESTHETIC We combine medical knowledge with aesthetic artistry to create care that feels personal and precise."
Additional motion probes
Coverage varies by viewport. A passing probe applies only to its recorded targets; missing entrance, scroll or ticker measurements do not establish animation fidelity.
{
"media": [
{
"error": "[data-xnap-media=\"v0\"]: page.waitForFunction: Timeout 3500ms exceeded.",
"passed": false,
"selector": "[data-xnap-media=\"v0\"]",
"advancing": false,
"perceivable": true,
"pausedOutside": null,
"presentedFrames": 0,
"viewportPlayback": false
},
{
"error": "[data-xnap-media=\"v4\"]: page.waitForFunction: Timeout 3500ms exceeded.",
"passed": false,
"selector": "[data-xnap-media=\"v4\"]",
"advancing": false,
"perceivable": true,
"pausedOutside": null,
"presentedFrames": 0,
"viewportPlayback": false
}
],
"errors": [
"[data-xnap-media=\"v0\"]: page.waitForFunction: Timeout 3500ms exceeded.",
"[data-xnap-media=\"v4\"]: page.waitForFunction: Timeout 3500ms exceeded."
],
"passed": false,
"scroll": null,
"status": "measured",
"profile": "desktop",
"controls": {
"checks": 23,
"errors": [],
"status": "passed"
},
"entrance": {
"max": 1,
"min": 1,
"passed": false,
"selector": "[data-xnap-motion=\"m0\"]",
"intermediate": 0
},
"external": [
"https://cdn.sanity.io/images/jk7ok3ks/production/7b0fe4636ce1a622cb71e46f97ce9e27cf6bac7a-2821x1667.jpg/SHOT02_0309.jpg?rect=134",
"https://cdn.sanity.io/images/jk7ok3ks/production/e15987c97e76d4c3d6521ea669903d5a3a70569b-1668x2500.jpg/e15987c97e76d4c3d6521ea669903d5a3a70569b.jpg?rect=1",
"https://cdn.sanity.io/images/jk7ok3ks/production/e007bf68879e72e879605abf15f147bac664a2bd-2001x3000.jpg/SHOT05_00410_Web.jpg?rect=0",
"https://cdn.sanity.io/images/jk7ok3ks/production/8f5c091f5a453bdd3196efd191589789f15e5318-7934x5292.jpg/SHOT01_0106_Web.jpg?rect=1282",
"https://cdn.sanity.io/images/jk7ok3ks/production/c762884e694a9e04d78ceae2b04aba058518c1fe-2500x1667.jpg/SHOT02_0300_collaged_Web.jpg?rect=147",
"https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112",
"https://cdn.sanity.io/images/jk7ok3ks/production/d79b706712ca778de35a2204f49c5a51ebd8d6f3-8192x5464.png/SHOT07_00660.png?rect=1821",
"https://cdn.sanity.io/images/jk7ok3ks/production/854e3909493c914faad6408954aa816f8b3650e0-4096x2732.jpg/854e3909493c914faad6408954aa816f8b3650e0.jpg?rect=0",
"https://cdn.sanity.io/images/jk7ok3ks/production/7b0fe4636ce1a622cb71e46f97ce9e27cf6bac7a-2821x1667.jpg/SHOT02_0309.jpg?rect=134",
"https://cdn.sanity.io/images/jk7ok3ks/production/e15987c97e76d4c3d6521ea669903d5a3a70569b-1668x2500.jpg/e15987c97e76d4c3d6521ea669903d5a3a70569b.jpg?rect=1",
"https://cdn.sanity.io/images/jk7ok3ks/production/e007bf68879e72e879605abf15f147bac664a2bd-2001x3000.jpg/SHOT05_00410_Web.jpg?rect=0",
"https://cdn.sanity.io/images/jk7ok3ks/production/8f5c091f5a453bdd3196efd191589789f15e5318-7934x5292.jpg/SHOT01_0106_Web.jpg?rect=1282",
"https://cdn.sanity.io/images/jk7ok3ks/production/c762884e694a9e04d78ceae2b04aba058518c1fe-2500x1667.jpg/SHOT02_0300_collaged_Web.jpg?rect=147",
"https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112",
"https://cdn.sanity.io/images/jk7ok3ks/production/d79b706712ca778de35a2204f49c5a51ebd8d6f3-8192x5464.png/SHOT07_00660.png?rect=1821",
"https://cdn.sanity.io/images/jk7ok3ks/production/854e3909493c914faad6408954aa816f8b3650e0-4096x2732.jpg/854e3909493c914faad6408954aa816f8b3650e0.jpg?rect=0"
],
"marquees": [],
"scenario": "desktop-initial",
"reducedMotion": true
}Element-level differences
Diagnostic measurements guide repairs; style differences alone do not fail an otherwise matching observation.
| Property | Reference | Candidate |
|---|---|---|
| rect | [20,4174.6,695,12] | [20,4184.6,695,12] |
| opacity | 1 | 0 |
{
"policy": {
"media": "Complete local files, decoded readiness, independently advancing playback, visible where the original showed it, and source-defined viewport pause; frozen presented-frame timestamps only for still comparisons",
"locale": "en-US",
"motion": "Separate no-preference temporal checks: entrance, viewport triggers, measured marquee speed/hover/drag, reduced-motion, and offline requests",
"browser": "153.0.8010.12",
"network": "Docker network_mode:none; browser blocks and records external attempts",
"settling": "Bounded network-idle wait, font readiness, then a 500ms margin",
"timezone": "UTC",
"rendering": "Independent multi-frame surface checks under the recorded clock protocol; DOM stills exclude only these required regions. FPS counters are geometry/format checked, not compared as literal performance values.",
"animations": "disabled",
"colorScheme": "light",
"pixelThreshold": 0.1,
"deviceScaleFactor": 1,
"interactionTimeline": "Input-triggered samples at 0/80/180/400/800/1600ms; 120ms frame envelope, intermediate-state requirements, final semantics and focus. Layout diagnostics do not replace pixel gates.",
"pixelDifferenceLimit": 0.005
},
"observation": {
"key": "desktop-initial",
"name": "desktop · initial",
"viewport": {
"width": 1440,
"height": 900
},
"difference": 0.29762114197530865,
"structure": 0.33456019680263793,
"text": 0.8713450292397661,
"fidelity": 58.56,
"behavioral": false,
"semantic": false,
"temporal": true,
"behaviorErrors": [
"Missing visible control d5bb345e2eaa",
"Missing visible control 124f8c78a2cc1bd5c3d892fa5987b954",
"Missing visible control target-7cx782",
"Missing visible control a63f63099d3f",
"Missing visible control target-xbui79",
"Missing visible control target-djlr2p"
],
"temporalErrors": [],
"referenceValidity": {
"recording": "0853e48b34b47e299fdbf5652bf234cb82576a84bc09d72fe649e78b1f9d8f67",
"passed": false,
"status": "unverified",
"errors": [
"Live reference is unverified: Live reference entry: pixels, readiness failed; Cold-entry document content differs from the recorded page; Live reference resting: pixels failed; rendered frames differ across independent loads; Live reference section-1: pixels failed; rendered frames differ across independent loads; Live reference section-6: pixels failed; rendered frames differ across independent loads"
],
"filmstrips": [],
"checked": [
{
"phase": "section-2",
"frames": [
{
"time": 0,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 1000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 2000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 3000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 4000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 5000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 6000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
}
]
},
{
"phase": "section-3",
"frames": [
{
"time": 0,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 512,
"width": 1108,
"height": 388
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 1000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 512,
"width": 1108,
"height": 388
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 2000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 512,
"width": 1108,
"height": 388
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 3000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 512,
"width": 1108,
"height": 388
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 4000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 512,
"width": 1108,
"height": 388
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 5000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 512,
"width": 1108,
"height": 388
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 6000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 512,
"width": 1108,
"height": 388
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
}
]
},
{
"phase": "section-4",
"frames": [
{
"time": 0,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 182,
"width": 1440,
"height": 392
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 1000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 182,
"width": 1440,
"height": 392
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 2000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 182,
"width": 1440,
"height": 392
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 3000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 182,
"width": 1440,
"height": 392
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 4000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 182,
"width": 1440,
"height": 392
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 5000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 182,
"width": 1440,
"height": 392
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 6000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": {
"x": 0,
"y": 182,
"width": 1440,
"height": 392
},
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
}
]
},
{
"phase": "section-5",
"frames": [
{
"time": 0,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 1000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 2000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 3000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 4000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 5000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
},
{
"time": 6000,
"errors": [],
"passed": true,
"allowed": 0.005,
"motionBox": null,
"difference": 0,
"diagnostics": [
{
"url": "https://www.googletagmanager.com/gtm.js",
"kind": "request",
"impact": "unrelated",
"method": "GET",
"message": "Telemetry is outside reference validation scope",
"features": [],
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"resourceType": "script"
}
],
"failureKinds": [],
"contextPassed": true,
"fullDifference": 0,
"motionDifference": 0
}
]
}
],
"validatedPhases": [
"section-2",
"section-3",
"section-4",
"section-5"
],
"validatedAssertions": [],
"excluded": {
"section-2": [
"media:v0"
],
"section-3": [
"media:v1",
"media:v2",
"media:v3",
"media:v4"
],
"section-4": [
"media:v1",
"media:v2",
"media:v3",
"media:v4"
],
"section-5": [
"media:v1",
"media:v2",
"media:v3",
"media:v4"
]
},
"diagnostics": [
{
"kind": "request",
"impact": "unrelated",
"message": "Telemetry is outside reference validation scope",
"url": "https://www.googletagmanager.com/gtm.js",
"method": "GET",
"resourceType": "script",
"initiator": "(anonymous) :4:65\n(anonymous) :5:3\nv https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:2480\n(anonymous) https://www.odysseeclinic.com.au/_next/static/chunks/03ak18kxjhm58.js:1:3294\niv https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:102010\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126049\nud https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:125711\nup https://www.odysseeclinic.com.au/_next/static/chunks/0ayhydy3m9_9r.js:1:126094",
"features": []
}
],
"failureKinds": [
"pixels",
"readiness"
]
},
"timeline": {
"motionPassed": false,
"motionErrors": [
"Cold-entry reference has not independently matched the live page.",
"Page section 1 has not independently matched the live page.",
"Page section 6 has not independently matched the live page."
],
"passed": false,
"status": "unverified",
"elapsedMs": 91720,
"score": 1,
"errors": [
"Cold-entry reference has not independently matched the live page.",
"Page section 1 has not independently matched the live page.",
"Page section 6 has not independently matched the live page."
],
"filmstrips": [
"evidence/timeline-evaluation-job-346-attempt-1-desktop-initial-section-3.png"
],
"checked": [
{
"frames": [
{
"time": 0,
"allowed": 0.03728,
"difference": 0.00893
},
{
"time": 1000,
"allowed": 0.03728,
"difference": 0.0088
},
{
"time": 2000,
"allowed": 0.03728,
"difference": 0.0083
},
{
"time": 3000,
"allowed": 0.03728,
"difference": 0.00779
},
{
"time": 4000,
"allowed": 0.03728,
"difference": 0.00728
},
{
"time": 5000,
"allowed": 0.03728,
"difference": 0.00734
},
{
"time": 6000,
"allowed": 0.03728,
"difference": 0.00735
}
],
"scroll": 1800,
"segment": 2
}
]
},
"layout": [
{
"actual": {
"gap": "normal",
"font": "",
"rect": [
20,
4184.6,
695,
12
],
"color": "rgb(30, 48, 94)",
"margin": "0px",
"display": "block",
"opacity": "0",
"padding": "0px",
"background": "rgba(0, 0, 0, 0)",
"lineHeight": "12px"
},
"fields": [
"rect",
"opacity"
],
"element": "p: Our Philosophy",
"expected": {
"gap": "normal",
"tag": "p",
"font": "",
"rect": [
20,
4174.6,
695,
12
],
"text": "Our Philosophy",
"color": "rgb(30, 48, 94)",
"margin": "0px",
"display": "block",
"opacity": "1",
"padding": "0px",
"background": "rgba(0, 0, 0, 0)",
"lineHeight": "12px"
}
}
],
"focus": {
"reference": "evidence/focus-evaluation-job-346-attempt-1-desktop-initial-reference.png",
"actual": "evidence/focus-evaluation-job-346-attempt-1-desktop-initial-actual.png",
"diff": "evidence/focus-evaluation-job-346-attempt-1-desktop-initial-diff.png"
},
"overflow": false,
"external": [
"https://cdn.sanity.io/images/jk7ok3ks/production/7b0fe4636ce1a622cb71e46f97ce9e27cf6bac7a-2821x1667.jpg/SHOT02_0309.jpg?rect=134",
"https://cdn.sanity.io/images/jk7ok3ks/production/e15987c97e76d4c3d6521ea669903d5a3a70569b-1668x2500.jpg/e15987c97e76d4c3d6521ea669903d5a3a70569b.jpg?rect=1",
"https://cdn.sanity.io/images/jk7ok3ks/production/e007bf68879e72e879605abf15f147bac664a2bd-2001x3000.jpg/SHOT05_00410_Web.jpg?rect=0",
"https://cdn.sanity.io/images/jk7ok3ks/production/8f5c091f5a453bdd3196efd191589789f15e5318-7934x5292.jpg/SHOT01_0106_Web.jpg?rect=1282",
"https://cdn.sanity.io/images/jk7ok3ks/production/c762884e694a9e04d78ceae2b04aba058518c1fe-2500x1667.jpg/SHOT02_0300_collaged_Web.jpg?rect=147",
"https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112",
"https://cdn.sanity.io/images/jk7ok3ks/production/d79b706712ca778de35a2204f49c5a51ebd8d6f3-8192x5464.png/SHOT07_00660.png?rect=1821",
"https://cdn.sanity.io/images/jk7ok3ks/production/854e3909493c914faad6408954aa816f8b3650e0-4096x2732.jpg/854e3909493c914faad6408954aa816f8b3650e0.jpg?rect=0"
],
"errors": [
"Video frame differs from captured time: [data-xnap-media=\"v0\"]; expected 0.68, actual {\"selector\":\"[data-xnap-media=\\\"v0\\\"]\",\"src\":\"blob:https://www.odysseeclinic.com.au/c12bafa6-c942-4250-8614-58742ecb19ba\",\"playing\":false,\"perceivable\":true,\"autoplay\":true,\"muted\":true,\"loop\":true,\"playsInline\":true,\"width\":0,\"height\":0,\"stream\":null,\"time\":0.681,\"ready\":false,\"duration\":null,\"seekable\":[],\"error\":\"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check\",\"clockTime\":0.681}",
"Video frame differs from captured time: [data-xnap-media=\"v1\"]; expected 4.442666, actual {\"selector\":\"[data-xnap-media=\\\"v1\\\"]\",\"src\":\"blob:https://www.odysseeclinic.com.au/d3b11ae7-ea83-4b60-ab54-6d8453278055\",\"playing\":false,\"perceivable\":true,\"autoplay\":false,\"muted\":true,\"loop\":true,\"playsInline\":true,\"width\":0,\"height\":0,\"stream\":null,\"time\":4.443666,\"ready\":false,\"duration\":null,\"seekable\":[],\"error\":\"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check\",\"clockTime\":4.443666}",
"Video frame differs from captured time: [data-xnap-media=\"v2\"]; expected 4.964, actual {\"selector\":\"[data-xnap-media=\\\"v2\\\"]\",\"src\":\"blob:https://www.odysseeclinic.com.au/5cca0f20-1dfa-418b-b27b-cf71523817ed\",\"playing\":false,\"perceivable\":true,\"autoplay\":false,\"muted\":true,\"loop\":true,\"playsInline\":true,\"width\":0,\"height\":0,\"stream\":null,\"time\":4.965000000000001,\"ready\":false,\"duration\":null,\"seekable\":[],\"error\":\"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check\",\"clockTime\":4.965000000000001}",
"Video frame differs from captured time: [data-xnap-media=\"v3\"]; expected 4.842666, actual {\"selector\":\"[data-xnap-media=\\\"v3\\\"]\",\"src\":\"blob:https://www.odysseeclinic.com.au/3ff5e47f-814b-476a-86dd-002d6b75be3b\",\"playing\":false,\"perceivable\":true,\"autoplay\":false,\"muted\":true,\"loop\":true,\"playsInline\":true,\"width\":0,\"height\":0,\"stream\":null,\"time\":4.843666000000001,\"ready\":false,\"duration\":null,\"seekable\":[],\"error\":\"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check\",\"clockTime\":4.843666000000001}",
"Video frame differs from captured time: [data-xnap-media=\"v4\"]; expected 3.962666, actual {\"selector\":\"[data-xnap-media=\\\"v4\\\"]\",\"src\":\"blob:https://www.odysseeclinic.com.au/f4f290fc-9ef3-43b6-a267-3691091de01e\",\"playing\":false,\"perceivable\":true,\"autoplay\":true,\"muted\":true,\"loop\":true,\"playsInline\":true,\"width\":0,\"height\":0,\"stream\":null,\"time\":3.963666,\"ready\":false,\"duration\":null,\"seekable\":[],\"error\":\"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check\",\"clockTime\":3.963666}",
"Video frame differs from captured time: [data-xnap-media=\"v5\"]; expected 2.08, actual {\"selector\":\"[data-xnap-media=\\\"v5\\\"]\",\"src\":\"blob:https://www.odysseeclinic.com.au/5432558a-8a5d-4de8-b357-c7dc227b8bb8\",\"playing\":false,\"perceivable\":true,\"autoplay\":false,\"muted\":true,\"loop\":true,\"playsInline\":true,\"width\":0,\"height\":0,\"stream\":null,\"time\":2.081,\"ready\":false,\"duration\":null,\"seekable\":[],\"error\":\"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check\",\"clockTime\":2.081}",
"Video frame differs from captured time: [data-xnap-media=\"v6\"]; expected 2.130667, actual {\"selector\":\"[data-xnap-media=\\\"v6\\\"]\",\"src\":\"blob:https://www.odysseeclinic.com.au/60a7ec62-5f0f-4f1d-96d5-39db0fee8aad\",\"playing\":false,\"perceivable\":true,\"autoplay\":false,\"muted\":true,\"loop\":true,\"playsInline\":true,\"width\":0,\"height\":0,\"stream\":null,\"time\":2.1316669999999998,\"ready\":false,\"duration\":null,\"seekable\":[],\"error\":\"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check\",\"clockTime\":2.1316669999999998}",
"Video frame differs from captured time: [data-xnap-media=\"v7\"]; expected 2.166666, actual {\"selector\":\"[data-xnap-media=\\\"v7\\\"]\",\"src\":\"blob:https://www.odysseeclinic.com.au/94d8bb33-d8b7-49e7-be82-7c50b31083f3\",\"playing\":false,\"perceivable\":true,\"autoplay\":false,\"muted\":true,\"loop\":true,\"playsInline\":true,\"width\":0,\"height\":0,\"stream\":null,\"time\":2.167666,\"ready\":false,\"duration\":null,\"seekable\":[],\"error\":\"MEDIA_ELEMENT_ERROR: Media load rejected by URL safety check\",\"clockTime\":2.167666}",
"Visible text differs from the captured reference state: missing 3 passage(s), e.g. \"At Odyssée, we prioritise a personalised approach. Visit our Hunters Hill space for a transformative experience in your aesthetic journey.\"; \"BESPOKE MEDICAL AESTHETIC OUR PHILOSOPHY Every treatment at Odyssée is grounded in evidence-based medicine and the latest advances in aesthetic science. Our pra…\"; \"BESPOKE MEDICAL AESTHETIC We combine medical knowledge with aesthetic artistry to create care that feels personal and precise.\""
],
"reference": "evidence/capture-job-137-1/desktop-initial.png",
"actual": "evidence/round-evaluation-job-346-attempt-1-desktop-initial.png",
"diff": "evidence/diff-evaluation-job-346-attempt-1-desktop-initial.png",
"passed": false,
"dependencies": {
"file": "evidence/dependencies-evaluation-job-346-attempt-1-desktop-initial.json",
"digest": "9d4c8a8355631c8fbf545300948065d3ceac6f7e95ab54c0647a8ed91f8ee30f"
},
"reuseKey": "cd48f982cf48e1fc376fcef992e91107c297c7fe41b49333031106ea5b40cc1a"
},
"evaluatedAt": "2026-10-15T07:09:07.617Z"
}Scope and evidence limitations
- Unsupported CSS interaction selector: .link-opacity-inverted:not(:hover).group:has(a:hover) *
- Unsupported CSS interaction selector: .link-opacity-inverted.group:has(a:hover) *
- Unsupported CSS interaction selector: .not-hover\:underline:not(:hover)
- Unsupported CSS interaction selector: .group-has-\[\.peer\:hover\]\:opacity-0.group:has(.peer:hover) *
- Global click listener requires source-directed or observed event targets
- Interaction evidence is limited to 12 leads per element
- Global focusin listener requires source-directed or observed event targets
- Global focusout listener requires source-directed or observed event targets
- Repeated callback executions retain counts and four samples per registration/phase
- Runtime attribution limited to 100 records per phase and 2400 per visit
- Asset exceeds 15000000 bytes: https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112,3251,3362,4523&fp-x=0.5160088956512576&fp-y=0.651393432454424&w=2560&h=3158&q=90&fit=crop&crop=focalpoint&auto=format
- Asset exceeds 15000000 bytes: https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112,3251,3362,4523&fp-x=0.5160088956512576&fp-y=0.651393432454424&w=3200&h=3947&q=90&fit=crop&crop=focalpoint&auto=format
- Asset dependency unavailable: https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112,3251,3362,4523&fp-x=0.5160088956512576&fp-y=0.651393432454424&w=2560&h=3158&q=90&fit=crop&crop=focalpoint&auto=format
- Asset dependency unavailable: https://cdn.sanity.io/images/jk7ok3ks/production/a882186ef21fc35c8eb2671c07c44c8f008e2d9e-5412x8114.png/SHOT05_0465.png?rect=1112,3251,3362,4523&fp-x=0.5160088956512576&fp-y=0.651393432454424&w=3200&h=3947&q=90&fit=crop&crop=focalpoint&auto=format
- Asset exceeds 15000000 bytes: https://cdn.sanity.io/images/jk7ok3ks/production/d79b706712ca778de35a2204f49c5a51ebd8d6f3-8192x5464.png/SHOT07_00660.png?rect=1821,1112,3097,3965&fp-x=0.41133750690075394&fp-y=0.6308382340407397&w=2560&h=3158&q=90&fit=crop&crop=focalpoint&auto=format
- Asset dependency unavailable: https://cdn.sanity.io/images/jk7ok3ks/production/d79b706712ca778de35a2204f49c5a51ebd8d6f3-8192x5464.png/SHOT07_00660.png?rect=1821,1112,3097,3965&fp-x=0.41133750690075394&fp-y=0.6308382340407397&w=2560&h=3158&q=90&fit=crop&crop=focalpoint&auto=format
- HLS video export failed: [data-xnap-media="v0"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v1"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v2"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v3"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v4"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v5"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v6"]: Blob video has no observed HLS player association
- HLS video export failed: [data-xnap-media="v7"]: Blob video has no observed HLS player association
Candidate & evaluation history
A candidate may be evaluated more than once as reference evidence grows. Failed builds and interrupted evaluations remain visible.
| Candidate | Build | Source lineage | Evaluations |
|---|---|---|---|
| Candidate 69 Iteration 7 | Built | From candidate 63 Source 792cf35ad2db3e0551ab9955024af0e0f6109be7f4ce6252d7dae89db375180b | |
| Candidate 63 Iteration 6 | Built | From candidate 53 Source 44dce4e8a29ceb444708376b80880fe44bfe20f6e56446b82256787dc397194e | |
| Candidate 53 Iteration 5 | Built | From candidate 44 Source 265989886f973c296e8cb8d1cf1189a92c3bcb9a38e205f17bba29650d45c098 | |
| Candidate 44 Iteration 4 | Built | From candidate 34 Source 06898d1403d59de600e6a404329b7825e0310b118758b6f0ae6ad2d3bb1d4d48 | |
| Candidate 34 Iteration 3 | Built | From candidate 28 Source 5414b4a3aac43c35e37b8540fa347bee4f4c887bb90ac6f952bd73c0c6407740 | |
| Candidate 28 Iteration 2 | Built | From candidate 18 Source 2ca0dbc3bc8c8dd943b6a67c1cc85bb0ad4c17607a87edadbf4ba50051ff1880 | |
| Candidate 18 Iteration 1 | Built | No retained base Source 55554a1c59d55157de68826522bc90f89855a4963266c2e7f6a87aa4e493284f | |
| Candidate 13 Recorded original | Built | No retained base Source 410d8d4ae545b27d2208da22b9cd8e5c9da6a0071b7afe742b30623d50dbe05d |


