{ "ok": true, "strict": false, "browserSkipped": false, "lint": { "ok": true, "errorCount": 0, "warningCount": 11, "infoCount": 0, "findings": [ { "code": "duplicate_media_discovery_risk", "severity": "warning", "message": "Detected 7 matching img entries with the same source/start/duration.", "selector": "[data-composition-id]", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Avoid duplicated media nodes that can be discovered twice during compilation." }, { "code": "timeline_track_too_dense", "severity": "warning", "message": "Track 1 has 8 timed elements in this HTML file. Smaller sub-compositions keep timelines easier to read, iterate on, and diff.", "selector": "[data-composition-id]", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move coherent scene groups into separate .html files under compositions/ and mount them from the parent with data-composition-src so the timeline stays easier to inspect, revise, and validate." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#bg", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#s1", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#s2", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#s3", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#s4", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#s5", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#s6", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#s7", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." }, { "code": "nested_structure_needs_subcomposition", "severity": "warning", "message": "
is a timeline element that contains nested
. The timeline shows one row per top-level element, and the root composition is built only from sub-compositions.", "selector": "#s8", "dataAttributes": {}, "sourceFile": "/root/simbiot-harness/video/carousel-ai-future/index.html", "bbox": { "x": 0, "y": 0, "width": 0, "height": 0 }, "time": 0, "fixHint": "Move
and its contents into a sub-composition file and mount it with data-composition-src." } ], "filesScanned": 1 }, "runtime": { "ok": true, "errorCount": 0, "warningCount": 0, "infoCount": 0, "findings": [] }, "layout": { "ok": true, "errorCount": 0, "warningCount": 0, "infoCount": 2, "findings": [ { "code": "container_overflow", "severity": "info", "time": 1.556, "selector": "#s1-photo", "message": "Element extends outside a clipping layout container.", "rect": { "left": -10.75, "top": -13.43, "right": 1090.75, "bottom": 1363.43, "width": 1101.49, "height": 1376.86 }, "containerSelector": "#s1", "fixHint": "Resize/reposition the child or container, or mark intentional overflow with data-layout-allow-overflow.", "containerRect": { "left": 0, "top": 0, "right": 1080, "bottom": 1350, "width": 1080, "height": 1350 }, "overflow": { "left": 10.75, "right": 10.75, "top": 13.43, "bottom": 13.43 }, "dataAttributes": {}, "sourceFile": "index.html", "bbox": { "x": -10.75, "y": -13.43, "width": 1101.49, "height": 1376.86 }, "firstSeen": 1.556, "lastSeen": 1.556, "occurrences": 1, "heldMs": 0, "times": [ 1.556 ] }, { "code": "container_overflow", "severity": "info", "time": 10.889, "selector": "#s4-photo", "message": "Element extends outside a clipping layout container.", "rect": { "left": -38.34, "top": -22.72, "right": 1118.34, "bottom": 662.72, "width": 1156.68, "height": 685.44 }, "containerSelector": "#s4", "fixHint": "Resize/reposition the child or container, or mark intentional overflow with data-layout-allow-overflow.", "containerRect": { "left": 0, "top": 0, "right": 1080, "bottom": 1350, "width": 1080, "height": 1350 }, "overflow": { "left": 38.34, "right": 38.34, "top": 22.72 }, "dataAttributes": {}, "sourceFile": "index.html", "bbox": { "x": -38.34, "y": -22.72, "width": 1156.68, "height": 685.44 }, "firstSeen": 10.889, "lastSeen": 10.889, "occurrences": 1, "heldMs": 0, "times": [ 10.889 ] } ], "duration": 28, "samples": [ 1.556, 4.667, 7.778, 10.889, 14, 17.111, 20.222, 23.333, 26.444 ], "transitionSamples": [], "transitionSamplesDropped": 0, "tolerance": 2, "totalIssueCount": 2, "truncated": false }, "motion": { "ok": true, "errorCount": 0, "warningCount": 0, "infoCount": 0, "findings": [], "enabled": false, "samples": 0 }, "contrast": { "ok": true, "errorCount": 0, "warningCount": 0, "infoCount": 0, "findings": [], "enabled": true, "samples": [ 1.556, 7.778, 14, 20.222, 26.444 ], "checked": 33, "passed": 33 }, "hdr": { "autoPromotion": null, "inspection": "available" }, "snapshots": { "enabled": false, "files": [], "times": [], "findingFiles": [] } }