diff --git a/video/carousel-ai-future/.hyperframes/artifacts/checks/98172ef6-c78c-434a-bc4e-0c36d8be2e31.json b/video/carousel-ai-future/.hyperframes/artifacts/checks/98172ef6-c78c-434a-bc4e-0c36d8be2e31.json
new file mode 100644
index 0000000..0a6adb0
--- /dev/null
+++ b/video/carousel-ai-future/.hyperframes/artifacts/checks/98172ef6-c78c-434a-bc4e-0c36d8be2e31.json
@@ -0,0 +1,443 @@
+{
+ "ok": false,
+ "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": false,
+ "errorCount": 1,
+ "warningCount": 0,
+ "infoCount": 2,
+ "findings": [
+ {
+ "code": "content_overlap",
+ "severity": "error",
+ "time": 8.916,
+ "selector": "#s3-ring > div:nth-of-type(6)",
+ "message": "Two text blocks overlap and may render unreadable.",
+ "rect": {
+ "left": 494.81,
+ "top": 1115.5,
+ "right": 585.17,
+ "bottom": 1144.5,
+ "width": 90.36,
+ "height": 29
+ },
+ "containerSelector": "#s3-sub",
+ "text": "memory",
+ "fixHint": "Give each block its own zone, or put data-layout-allow-overlap on the text or on a container inside the scene. A marker on the scene root does not apply.",
+ "dataAttributes": {},
+ "sourceFile": "index.html",
+ "bbox": {
+ "x": 494.81,
+ "y": 1115.5,
+ "width": 90.36,
+ "height": 29
+ },
+ "firstSeen": 8.916,
+ "lastSeen": 10.48,
+ "occurrences": 11,
+ "heldMs": 1564,
+ "times": [
+ 8.916,
+ 9.073,
+ 9.229,
+ 9.385,
+ 9.542,
+ 9.698,
+ 9.855,
+ 10.011,
+ 10.168,
+ 10.324,
+ 10.48
+ ]
+ },
+ {
+ "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": 3,
+ "truncated": false
+ },
+ "motion": {
+ "ok": true,
+ "errorCount": 0,
+ "warningCount": 0,
+ "infoCount": 0,
+ "findings": [],
+ "enabled": false,
+ "samples": 0
+ },
+ "contrast": {
+ "ok": true,
+ "errorCount": 0,
+ "warningCount": 2,
+ "infoCount": 0,
+ "findings": [
+ {
+ "code": "contrast_aa_failure",
+ "severity": "warning",
+ "message": "Contrast is 1.89:1; WCAG AA requires 4.5:1.",
+ "text": "06 / 08",
+ "fg": "rgb(168,162,151)",
+ "bg": "rgb(222,222,222)",
+ "ratio": 1.89,
+ "requiredRatio": 4.5,
+ "suggestedColor": "rgb(102,98,92)",
+ "large": false,
+ "selector": "div > section:nth-of-type(6) > div:nth-of-type(3) > div",
+ "dataAttributes": {},
+ "sourceFile": "index.html",
+ "bbox": {
+ "x": 895.859375,
+ "y": 69.5,
+ "width": 120.140625,
+ "height": 29
+ },
+ "time": 20.222,
+ "times": [
+ 20.222
+ ]
+ },
+ {
+ "code": "contrast_aa_failure",
+ "severity": "warning",
+ "message": "Contrast is 1.17:1; WCAG AA requires 3:1.",
+ "text": "06",
+ "fg": "rgb(236,230,218)",
+ "bg": "rgb(214,214,214)",
+ "ratio": 1.17,
+ "requiredRatio": 3,
+ "suggestedColor": "rgb(123,120,114)",
+ "large": true,
+ "selector": "div > section:nth-of-type(6) > div:nth-of-type(3) > div > b",
+ "dataAttributes": {},
+ "sourceFile": "index.html",
+ "bbox": {
+ "x": 895.859375,
+ "y": 69.5,
+ "width": 34.328125,
+ "height": 29
+ },
+ "time": 20.222,
+ "times": [
+ 20.222
+ ]
+ }
+ ],
+ "enabled": true,
+ "samples": [
+ 1.556,
+ 7.778,
+ 14,
+ 20.222,
+ 26.444
+ ],
+ "checked": 33,
+ "passed": 31
+ },
+ "hdr": {
+ "autoPromotion": null,
+ "inspection": "available"
+ },
+ "snapshots": {
+ "enabled": false,
+ "files": [],
+ "times": [],
+ "findingFiles": []
+ }
+}
diff --git a/video/carousel-ai-future/.hyperframes/artifacts/checks/d3d98fba-a47c-48b3-9af0-cfbe8fbd59d3.json b/video/carousel-ai-future/.hyperframes/artifacts/checks/d3d98fba-a47c-48b3-9af0-cfbe8fbd59d3.json
new file mode 100644
index 0000000..371f851
--- /dev/null
+++ b/video/carousel-ai-future/.hyperframes/artifacts/checks/d3d98fba-a47c-48b3-9af0-cfbe8fbd59d3.json
@@ -0,0 +1,349 @@
+{
+ "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": []
+ }
+}
diff --git a/video/carousel-ai-future/.hyperframes/history-id b/video/carousel-ai-future/.hyperframes/history-id
new file mode 100644
index 0000000..13cb7c9
--- /dev/null
+++ b/video/carousel-ai-future/.hyperframes/history-id
@@ -0,0 +1 @@
+5bd53911-66b8-4a0c-9dab-511418b519eb
diff --git a/video/carousel-ai-future/.hyperframes/video-state.json b/video/carousel-ai-future/.hyperframes/video-state.json
new file mode 100644
index 0000000..a1b278a
--- /dev/null
+++ b/video/carousel-ai-future/.hyperframes/video-state.json
@@ -0,0 +1,371 @@
+{
+ "version": 1,
+ "historyId": "5bd53911-66b8-4a0c-9dab-511418b519eb",
+ "currentRevision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "pendingChanges": false,
+ "files": {
+ "fonts/anton-400-latin.woff2": {
+ "hash": "d0fa07ff63dd60cbc0e2f58e29c802dca2a5ae0276c999f59c6111ab7bbaec3b",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/d0/d0fa07ff63dd60cbc0e2f58e29c802dca2a5ae0276c999f59c6111ab7bbaec3b"
+ },
+ "fonts/dm-sans-400-latin.woff2": {
+ "hash": "4ab51eb2cd7305d177187908d6397474d4520663f6c6e572feb0a64f4fa80006",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/4a/4ab51eb2cd7305d177187908d6397474d4520663f6c6e572feb0a64f4fa80006"
+ },
+ "fonts/dm-sans-700-latin.woff2": {
+ "hash": "35c5efa0e5daa52ee5c6500f5be354bf751fb65c4e49e1d6806c6eb5883e8fe9",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/35/35c5efa0e5daa52ee5c6500f5be354bf751fb65c4e49e1d6806c6eb5883e8fe9"
+ },
+ "fonts/fraunces-400-latin.woff2": {
+ "hash": "e558f39453a9c611908be04294b50dea5f21ae6c49b41c6e47f4115e91f90209",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/e5/e558f39453a9c611908be04294b50dea5f21ae6c49b41c6e47f4115e91f90209"
+ },
+ "fonts/fraunces-700-latin.woff2": {
+ "hash": "c38570d224b830056e69484bb9e768e1d3fa7ba4755c8891a3c6d366194d2ff3",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/c3/c38570d224b830056e69484bb9e768e1d3fa7ba4755c8891a3c6d366194d2ff3"
+ },
+ "fonts/inter-400-latin.woff2": {
+ "hash": "8909904ab6c872eb994093482a88a28eca2cd95912d7b6fecd72103b0dc07edc",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/89/8909904ab6c872eb994093482a88a28eca2cd95912d7b6fecd72103b0dc07edc"
+ },
+ "fonts/inter-600-latin.woff2": {
+ "hash": "f9a06e79cd3a2a20951c0f0e28f66dd0e6d3fda73911d640a2125c8fcb78f21a",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/f9/f9a06e79cd3a2a20951c0f0e28f66dd0e6d3fda73911d640a2125c8fcb78f21a"
+ },
+ "fonts/jetbrains-mono-400-latin.woff2": {
+ "hash": "14425ba9c695763c1547f48a206b7aa60350a33ae23de09f0407877f3fcd89eb",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/14/14425ba9c695763c1547f48a206b7aa60350a33ae23de09f0407877f3fcd89eb"
+ },
+ "fonts/jetbrains-mono-700-latin.woff2": {
+ "hash": "d0d4e818808f2a0ba39b2b09d1989366f63494e295f003c7ef436697378507e8",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/d0/d0d4e818808f2a0ba39b2b09d1989366f63494e295f003c7ef436697378507e8"
+ },
+ "fonts/space-grotesk-500-latin.woff2": {
+ "hash": "1b1a8131d9edf975d9decee81e2f2bf504812f7a4f498e5500f28a613e22e64c",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/1b/1b1a8131d9edf975d9decee81e2f2bf504812f7a4f498e5500f28a613e22e64c"
+ },
+ "fonts/space-grotesk-700-latin.woff2": {
+ "hash": "35f8aec56cfd5cbfdb03cc68733a54a0b05bb3617ffcd5fd332badc0b045ca55",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/35/35f8aec56cfd5cbfdb03cc68733a54a0b05bb3617ffcd5fd332badc0b045ca55"
+ },
+ "fonts/unbounded-400-latin.woff2": {
+ "hash": "b0a91553c77f72f04eb4e8756003d926a0414c1710236caeb42fa4854bf6217e",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/b0/b0a91553c77f72f04eb4e8756003d926a0414c1710236caeb42fa4854bf6217e"
+ },
+ "fonts/unbounded-700-latin.woff2": {
+ "hash": "477fa23002517a32f232316d859e7b672a044f20073babec8ed3dbcfdb8e041a",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/47/477fa23002517a32f232316d859e7b672a044f20073babec8ed3dbcfdb8e041a"
+ },
+ "gsap.min.js": {
+ "hash": "c174bfce53a729418d57a8ad8625e7247c793a22fef8e2851e3cfa3de9cd8280",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/c1/c174bfce53a729418d57a8ad8625e7247c793a22fef8e2851e3cfa3de9cd8280"
+ },
+ "hyperframes.json": {
+ "hash": "53dbce1e19aa713cbb12ee0bc4d206143b45ab15e6ffbfcaa8f69572d4d24d50",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/53/53dbce1e19aa713cbb12ee0bc4d206143b45ab15e6ffbfcaa8f69572d4d24d50"
+ },
+ "img/cover.jpg": {
+ "hash": "b354dea67ab39b2329a2b01a5b7764122e2ffd272df4ffacd495cc5cc560bdde",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/b3/b354dea67ab39b2329a2b01a5b7764122e2ffd272df4ffacd495cc5cc560bdde"
+ },
+ "img/portrait.jpg": {
+ "hash": "dbcde4d23c6009326bec35f0789fa87c58261a14320124446e0266f9ddf7a8e1",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/db/dbcde4d23c6009326bec35f0789fa87c58261a14320124446e0266f9ddf7a8e1"
+ },
+ "img/river.jpg": {
+ "hash": "fbc1363bb04d93e2e744e75c84c41b22fa6e6c154c191354c64eb61e827e8ed8",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/fb/fbc1363bb04d93e2e744e75c84c41b22fa6e6c154c191354c64eb61e827e8ed8"
+ },
+ "img/shkor-labs-icon-lime.svg": {
+ "hash": "5234334e6d63c4970e053571b0efef93f015d3bbac31468bd858adae4bf8f827",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/52/5234334e6d63c4970e053571b0efef93f015d3bbac31468bd858adae4bf8f827"
+ },
+ "img/shkor-labs-logo-dark-bg.svg": {
+ "hash": "aed6e9880779deb71db536d70d2d4f20dcc08fd5c7fdb4eff79d7947094ad27a",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/ae/aed6e9880779deb71db536d70d2d4f20dcc08fd5c7fdb4eff79d7947094ad27a"
+ },
+ "img/smile.jpg": {
+ "hash": "28e1338b51b1a00ed01c518438e8c5e58e7e61286d18a334140f9dcc530bc822",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/28/28e1338b51b1a00ed01c518438e8c5e58e7e61286d18a334140f9dcc530bc822"
+ },
+ "index.html": {
+ "hash": "9d1af25cd61121390a58b26a3dd644896c11f132443c55f9ca77efff39b0043e",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/9d/9d1af25cd61121390a58b26a3dd644896c11f132443c55f9ca77efff39b0043e"
+ },
+ "meta.json": {
+ "hash": "bc5031782c867773319fe5be5ac409f1b69b138d1603082ccc65f36a0d25165d",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/bc/bc5031782c867773319fe5be5ac409f1b69b138d1603082ccc65f36a0d25165d"
+ },
+ "package.json": {
+ "hash": "c56fd7910f4675b4e99427e9018a71155759d0356268fe5ede7359d6fb6456bc",
+ "content": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/c5/c56fd7910f4675b4e99427e9018a71155759d0356268fe5ede7359d6fb6456bc"
+ }
+ },
+ "revisions": {
+ "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe": {
+ "actor": {
+ "kind": "outside",
+ "name": "Outside"
+ },
+ "label": "Changed outside the app",
+ "startedAt": 1792320695097,
+ "endedAt": 1792320695098,
+ "files": {
+ "index.html": {
+ "before": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/0c/0c197b07d415b250bfe1a493c1f68b8773f94968c74c96a87a948987cd4d2525",
+ "after": "/root/.cache/hyperframes/history/5bd53911-66b8-4a0c-9dab-511418b519eb/blobs/9d/9d1af25cd61121390a58b26a3dd644896c11f132443c55f9ca77efff39b0043e"
+ }
+ }
+ }
+ },
+ "checks": {
+ "latest": {
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "id": "d3d98fba-a47c-48b3-9af0-cfbe8fbd59d3"
+ },
+ "revisions": {
+ "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe": [
+ {
+ "id": "d3d98fba-a47c-48b3-9af0-cfbe8fbd59d3",
+ "scope": "project",
+ "report": "/root/simbiot-harness/video/carousel-ai-future/.hyperframes/artifacts/checks/d3d98fba-a47c-48b3-9af0-cfbe8fbd59d3.json",
+ "metadata": {
+ "ok": true,
+ "browserSkipped": false,
+ "options": {
+ "samples": 9,
+ "atTransitions": false,
+ "maxIssues": 80,
+ "collapseStatic": true,
+ "tolerance": 2,
+ "timeout": 3000,
+ "contrast": true,
+ "strict": false,
+ "snapshots": false,
+ "browserGpuMode": "auto"
+ }
+ },
+ "createdAt": 1792320707993,
+ "contentHash": "8f82dca54ec0fbf416f376b51ae993f6c53b3b96a6a9958bb89b158f28cadb79",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ }
+ ]
+ },
+ "unversioned": [
+ {
+ "id": "98172ef6-c78c-434a-bc4e-0c36d8be2e31",
+ "scope": "project",
+ "report": "/root/simbiot-harness/video/carousel-ai-future/.hyperframes/artifacts/checks/98172ef6-c78c-434a-bc4e-0c36d8be2e31.json",
+ "metadata": {
+ "ok": false,
+ "browserSkipped": false,
+ "options": {
+ "samples": 9,
+ "atTransitions": false,
+ "maxIssues": 80,
+ "collapseStatic": true,
+ "tolerance": 2,
+ "timeout": 3000,
+ "contrast": true,
+ "strict": false,
+ "snapshots": false,
+ "browserGpuMode": "auto"
+ }
+ },
+ "createdAt": 1792320662829,
+ "contentHash": "d26a27fa55329b3065c5096e2f55f4123db05276510f538ab866f5462ac7b63c",
+ "revision": null,
+ "inputFingerprint": "cfc992ae267a5ae3bdea9ad7846fee347d074e0743a82b1d9cf83ef95df68284",
+ "inputScope": "local-project-files",
+ "attribution": "unversioned"
+ }
+ ]
+ },
+ "snapshots": {
+ "latest": {
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-7"
+ },
+ "revisions": {
+ "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe": [
+ {
+ "scope": "full",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-0",
+ "image": "/tmp/car/frame-00-at-3.3s.png",
+ "time": 3.3,
+ "metadata": {
+ "width": 1080,
+ "height": 1350,
+ "zoomScale": 1,
+ "browserGpuMode": "auto",
+ "warnings": [],
+ "partial": false
+ },
+ "createdAt": 1792320717653,
+ "contentHash": "a63e8c557535fe90a4da7fcfe14d39d0831641bfeaadbe194f9b8056600b2018",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ },
+ {
+ "scope": "full",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-1",
+ "image": "/tmp/car/frame-01-at-6.8s.png",
+ "time": 6.8,
+ "metadata": {
+ "width": 1080,
+ "height": 1350,
+ "zoomScale": 1,
+ "browserGpuMode": "auto",
+ "warnings": [],
+ "partial": false
+ },
+ "createdAt": 1792320717654,
+ "contentHash": "e881b47a9079a0463cee4cb4a99366d8fef79669884c5fd070540bc077fe7633",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ },
+ {
+ "scope": "full",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-2",
+ "image": "/tmp/car/frame-02-at-10.3s.png",
+ "time": 10.3,
+ "metadata": {
+ "width": 1080,
+ "height": 1350,
+ "zoomScale": 1,
+ "browserGpuMode": "auto",
+ "warnings": [],
+ "partial": false
+ },
+ "createdAt": 1792320717654,
+ "contentHash": "b8cc1a32a379f74fce35d656ea7916b91b55f2b74b3bf332f903cef9043e25d6",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ },
+ {
+ "scope": "full",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-3",
+ "image": "/tmp/car/frame-03-at-13.8s.png",
+ "time": 13.8,
+ "metadata": {
+ "width": 1080,
+ "height": 1350,
+ "zoomScale": 1,
+ "browserGpuMode": "auto",
+ "warnings": [],
+ "partial": false
+ },
+ "createdAt": 1792320717654,
+ "contentHash": "166e0f79ec49fda554c8b6232c9df57d5349ab91d5a1dc94aeb3f5eb23eb2b09",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ },
+ {
+ "scope": "full",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-4",
+ "image": "/tmp/car/frame-04-at-17.3s.png",
+ "time": 17.3,
+ "metadata": {
+ "width": 1080,
+ "height": 1350,
+ "zoomScale": 1,
+ "browserGpuMode": "auto",
+ "warnings": [],
+ "partial": false
+ },
+ "createdAt": 1792320717654,
+ "contentHash": "f71312294eacd3eba590d48c4e6e02a57c1e47d5d6bc17f5fa6eb8e0fe8f1f58",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ },
+ {
+ "scope": "full",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-5",
+ "image": "/tmp/car/frame-05-at-20.8s.png",
+ "time": 20.8,
+ "metadata": {
+ "width": 1080,
+ "height": 1350,
+ "zoomScale": 1,
+ "browserGpuMode": "auto",
+ "warnings": [],
+ "partial": false
+ },
+ "createdAt": 1792320717654,
+ "contentHash": "3ee7ee22e951af47db52eb276144c2ffd10f8c18043bcf55c95e17974416284a",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ },
+ {
+ "scope": "full",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-6",
+ "image": "/tmp/car/frame-06-at-24.3s.png",
+ "time": 24.3,
+ "metadata": {
+ "width": 1080,
+ "height": 1350,
+ "zoomScale": 1,
+ "browserGpuMode": "auto",
+ "warnings": [],
+ "partial": false
+ },
+ "createdAt": 1792320717654,
+ "contentHash": "a512464cce3ac8a6777b9de072f297fb08c22471807f46f5e7ce66ca3b7ebbca",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ },
+ {
+ "scope": "full",
+ "id": "5f718204-636d-4e6b-9fad-e726a82e1c02-7",
+ "image": "/tmp/car/frame-07-at-27.8s.png",
+ "time": 27.8,
+ "metadata": {
+ "width": 1080,
+ "height": 1350,
+ "zoomScale": 1,
+ "browserGpuMode": "auto",
+ "warnings": [],
+ "partial": false
+ },
+ "createdAt": 1792320717654,
+ "contentHash": "13dba2c729d6a816f76c192ed2c59949aee1608cb946be3301fee231192a1955",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe",
+ "inputFingerprint": "1744ae12fc6ef23f9d39746874d400082951a71fdbd6f201089d434fcfad4253",
+ "inputScope": "local-project-files",
+ "attribution": "recorded-revision"
+ }
+ ]
+ },
+ "unversioned": []
+ },
+ "renders": {
+ "latest": {
+ "id": "7d2d6aaa-7754-4c53-9615-493a377f52ab",
+ "completedAt": 1792320762063,
+ "output": "/srv/raw.cil.by/simbiot/carousel-ai-future/carousel-animated.mp4",
+ "status": "completed",
+ "revision": "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe"
+ },
+ "retainedRevisions": [
+ "cb6944df-e4c3-4713-a9e1-bf2619c1d3fe"
+ ]
+ },
+ "pendingArtifactCleanup": []
+}
diff --git a/video/carousel-ai-future/fonts/anton-400-latin.woff2 b/video/carousel-ai-future/fonts/anton-400-latin.woff2
new file mode 100644
index 0000000..69d48b9
Binary files /dev/null and b/video/carousel-ai-future/fonts/anton-400-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/dm-sans-400-latin.woff2 b/video/carousel-ai-future/fonts/dm-sans-400-latin.woff2
new file mode 100644
index 0000000..0b8bc55
Binary files /dev/null and b/video/carousel-ai-future/fonts/dm-sans-400-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/dm-sans-700-latin.woff2 b/video/carousel-ai-future/fonts/dm-sans-700-latin.woff2
new file mode 100644
index 0000000..26edc56
Binary files /dev/null and b/video/carousel-ai-future/fonts/dm-sans-700-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/fraunces-400-latin.woff2 b/video/carousel-ai-future/fonts/fraunces-400-latin.woff2
new file mode 100644
index 0000000..83cbd8f
Binary files /dev/null and b/video/carousel-ai-future/fonts/fraunces-400-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/fraunces-700-latin.woff2 b/video/carousel-ai-future/fonts/fraunces-700-latin.woff2
new file mode 100644
index 0000000..71bbace
Binary files /dev/null and b/video/carousel-ai-future/fonts/fraunces-700-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/inter-400-latin.woff2 b/video/carousel-ai-future/fonts/inter-400-latin.woff2
new file mode 100644
index 0000000..f15b025
Binary files /dev/null and b/video/carousel-ai-future/fonts/inter-400-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/inter-600-latin.woff2 b/video/carousel-ai-future/fonts/inter-600-latin.woff2
new file mode 100644
index 0000000..d189794
Binary files /dev/null and b/video/carousel-ai-future/fonts/inter-600-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/jetbrains-mono-400-latin.woff2 b/video/carousel-ai-future/fonts/jetbrains-mono-400-latin.woff2
new file mode 100644
index 0000000..5858873
Binary files /dev/null and b/video/carousel-ai-future/fonts/jetbrains-mono-400-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/jetbrains-mono-700-latin.woff2 b/video/carousel-ai-future/fonts/jetbrains-mono-700-latin.woff2
new file mode 100644
index 0000000..3a4e333
Binary files /dev/null and b/video/carousel-ai-future/fonts/jetbrains-mono-700-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/space-grotesk-500-latin.woff2 b/video/carousel-ai-future/fonts/space-grotesk-500-latin.woff2
new file mode 100644
index 0000000..0db251f
Binary files /dev/null and b/video/carousel-ai-future/fonts/space-grotesk-500-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/space-grotesk-700-latin.woff2 b/video/carousel-ai-future/fonts/space-grotesk-700-latin.woff2
new file mode 100644
index 0000000..44604a0
Binary files /dev/null and b/video/carousel-ai-future/fonts/space-grotesk-700-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/unbounded-400-latin.woff2 b/video/carousel-ai-future/fonts/unbounded-400-latin.woff2
new file mode 100644
index 0000000..a8c140d
Binary files /dev/null and b/video/carousel-ai-future/fonts/unbounded-400-latin.woff2 differ
diff --git a/video/carousel-ai-future/fonts/unbounded-700-latin.woff2 b/video/carousel-ai-future/fonts/unbounded-700-latin.woff2
new file mode 100644
index 0000000..662dce4
Binary files /dev/null and b/video/carousel-ai-future/fonts/unbounded-700-latin.woff2 differ
diff --git a/video/carousel-ai-future/gsap.min.js b/video/carousel-ai-future/gsap.min.js
new file mode 100644
index 0000000..fde57af
--- /dev/null
+++ b/video/carousel-ai-future/gsap.min.js
@@ -0,0 +1,11 @@
+/*!
+ * GSAP 3.14.2
+ * https://gsap.com
+ *
+ * @license Copyright 2025, GreenSock. All rights reserved.
+ * Subject to the terms at https://gsap.com/standard-license.
+ * @author: Jack Doyle, jack@greensock.com
+ */
+
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).window=t.window||{})}(this,function(e){"use strict";function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function r(t){return"string"==typeof t}function s(t){return"function"==typeof t}function t(t){return"number"==typeof t}function u(t){return void 0===t}function v(t){return"object"==typeof t}function w(t){return!1!==t}function x(){return"undefined"!=typeof window}function y(t){return s(t)||r(t)}function R(t){return(i=bt(t,ht))&&Fe}function S(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")}function T(t,e){return!e&&console.warn(t)}function U(t,e){return t&&(ht[t]=e)&&i&&(i[t]=e)||ht}function V(){return 0}function ga(t){var e,r,i=t[0];if(v(i)||s(i)||(t=[t]),!(e=(i._gsap||{}).harness)){for(r=yt.length;r--&&!yt[r].targetTest(i););e=yt[r]}for(r=t.length;r--;)t[r]&&(t[r]._gsap||(t[r]._gsap=new Xt(t[r],e)))||t.splice(r,1);return t}function ha(t){return t._gsap||ga(Pt(t))[0]._gsap}function ia(t,e,r){return(r=t[e])&&s(r)?t[e]():u(r)&&t.getAttribute&&t.getAttribute(e)||r}function ja(t,e){return(t=t.split(",")).forEach(e)||t}function ka(t){return Math.round(1e5*t)/1e5||0}function la(t){return Math.round(1e7*t)/1e7||0}function ma(t,e){var r=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),"+"===r?t+i:"-"===r?t-i:"*"===r?t*i:t/i}function na(t,e){for(var r=e.length,i=0;t.indexOf(e[i])<0&&++ia;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[r],t[r]=e),e._next?e._next._prev=e:t[i]=e,e._prev=s,e.parent=e._dp=t,e}function Ba(t,e,r,i){void 0===r&&(r="_first"),void 0===i&&(i="_last");var n=e._prev,a=e._next;n?n._next=a:t[r]===e&&(t[r]=a),a?a._prev=n:t[i]===e&&(t[i]=n),e._next=e._prev=e.parent=null}function Ca(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove&&t.parent.remove(t),t._act=0}function Da(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var r=t;r;)r._dirty=1,r=r.parent;return t}function Fa(t,e,r,i){return t._startAt&&(I?t._startAt.revert(ft):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))}function Ha(t){return t._repeat?wt(t._tTime,t=t.duration()+t._rDelay)*t:0}function Ja(t,e){return(t-e._start)*e._ts+(0<=e._ts?0:e._dirty?e.totalDuration():e._tDur)}function Ka(t){return t._end=la(t._start+(t._tDur/Math.abs(t._ts||t._rts||q)||0))}function La(t,e){var r=t._dp;return r&&r.smoothChildTiming&&t._ts&&(t._start=la(r._time-(0q)&&e.render(r,!0)),Da(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur(n=Math.abs(n))&&(a=i,o=n);return a}function wb(t){return Ca(t),t.scrollTrigger&&t.scrollTrigger.kill(!!I),t.progress()<1&&Dt(t,"onInterrupt"),t}function zb(t){if(t)if(t=!t.name&&t.default||t,x()||t.headless){var e=t.name,r=s(t),i=e&&!r&&t.init?function(){this._props=[]}:t,n={init:V,render:ve,add:Jt,kill:Te,modifier:ye,rawVars:0},a={targetTest:0,get:0,getSetter:le,aliases:{},register:0};if(Lt(),t!==i){if(mt[e])return;ta(i,ta(xa(t,n),a)),bt(i.prototype,bt(n,xa(t,a))),mt[i.prop=e]=i,t.targetTest&&(yt.push(i),ct[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}U(e,i),t.register&&t.register(Fe,i,we)}else St.push(t)}function Cb(t,e,r){return(6*(t+=t<0?1:1>16,e>>8&zt,e&zt]:0:Et.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),Et[e])p=Et[e];else if("#"===e.charAt(0)){if(e.length<6&&(e="#"+(n=e.charAt(1))+n+(a=e.charAt(2))+a+(s=e.charAt(3))+s+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&zt,p&zt,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&zt,e&zt]}else if("hsl"===e.substr(0,3))if(p=c=e.match(rt),r){if(~e.indexOf("="))return p=e.match(it),i&&p.length<4&&(p[3]=1),p}else o=+p[0]%360/360,u=p[1]/100,n=2*(h=p[2]/100)-(a=h<=.5?h*(u+1):h+u-h*u),3=X?u.endTime(!1):t._dur;return r(e)&&(isNaN(e)||e in o)?(a=e.charAt(0),s="%"===e.substr(-1),n=e.indexOf("="),"<"===a||">"===a?(0<=n&&(e=e.replace(/=/,"")),("<"===a?u._start:u.endTime(0<=u._repeat))+(parseFloat(e.substr(1))||0)*(s?(n<0?u:i).totalDuration()/100:1)):n<0?(e in o||(o[e]=h),o[e]):(a=parseFloat(e.charAt(n-1)+e.substr(n+1)),s&&i&&(a=a/100*($(i)?i[0]:i).totalDuration()),1=r&&te)return i;i=i._next}else for(i=t._last;i&&i._start>=r;){if("isPause"===i.data&&i._start=n._start)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0=this.totalDuration()||!v&&_)&&(f!==this._start&&Math.abs(l)===Math.abs(this._ts)||this._lock||(!t&&g||!(v===m&&0=i&&(a instanceof te?e&&n.push(a):(r&&n.push(a),t&&n.push.apply(n,a.getChildren(!0,e,r)))),a=a._next;return n},e.getById=function getById(t){for(var e=this.getChildren(1,1,1),r=e.length;r--;)if(e[r].vars.id===t)return e[r]},e.remove=function remove(t){return r(t)?this.removeLabel(t):s(t)?this.killTweensOf(t):(t.parent===this&&Ba(this,t),t===this._recent&&(this._recent=this._last),Da(this))},e.totalTime=function totalTime(t,e){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=la(It.time-(0r:!r||s.isActive())&&n.push(s):(i=s.getTweensOf(a,r)).length&&n.push.apply(n,i),s=s._next;return n},e.tweenTo=function tweenTo(t,e){e=e||{};var r,i=this,n=Ot(i,t),a=e.startAt,s=e.onStart,o=e.onStartParams,u=e.immediateRender,h=te.to(i,ta({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:n,overwrite:"auto",duration:e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale())||q,onStart:function onStart(){if(i.pause(),!r){var t=e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale());h._dur!==t&&Ua(h,t,0,1).render(h._time,!0,!0),r=1}s&&s.apply(h,o||[])}},e));return u?h.render(0):h},e.tweenFromTo=function tweenFromTo(t,e,r){return this.tweenTo(e,ta({startAt:{time:Ot(this,t)}},r))},e.recent=function recent(){return this._recent},e.nextLabel=function nextLabel(t){return void 0===t&&(t=this._time),ub(this,Ot(this,t))},e.previousLabel=function previousLabel(t){return void 0===t&&(t=this._time),ub(this,Ot(this,t),1)},e.currentLabel=function currentLabel(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+q)},e.shiftChildren=function shiftChildren(t,e,r){void 0===r&&(r=0);var i,n=this._first,a=this.labels;for(t=la(t);n;)n._start>=r&&(n._start+=t,n._end+=t),n=n._next;if(e)for(i in a)a[i]>=r&&(a[i]+=t);return Da(this)},e.invalidate=function invalidate(t){var e=this._first;for(this._lock=0;e;)e.invalidate(t),e=e._next;return i.prototype.invalidate.call(this,t)},e.clear=function clear(t){void 0===t&&(t=!0);for(var e,r=this._first;r;)e=r._next,this.remove(r),r=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),Da(this)},e.totalDuration=function totalDuration(t){var e,r,i,n=0,a=this,s=a._last,o=X;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-t:t));if(a._dirty){for(i=a.parent;s;)e=s._prev,s._dirty&&s.totalDuration(),o<(r=s._start)&&a._sort&&s._ts&&!a._lock?(a._lock=1,Na(a,s,r-s._delay,1)._lock=0):o=r,r<0&&s._ts&&(n-=r,(!i&&!a._dp||i&&i.smoothChildTiming)&&(a._start+=la(r/a._ts),a._time-=r,a._tTime-=r),a.shiftChildren(-r,!1,-Infinity),o=0),s._end>n&&s._ts&&(n=s._end),s=e;Ua(a,a===L&&a._time>n?a._time:n,1,1),a._dirty=0}return a._tDur},Timeline.updateRoot=function updateRoot(t){if(L._ts&&(qa(L,Ja(t,L)),f=It.frame),It.frame>=vt){vt+=N.autoSleep||120;var e=L._first;if((!e||!e._ts)&&N.autoSleep&&It._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||It.sleep()}}},Timeline}(qt);ta(Zt.prototype,{_lock:0,_hasPause:0,_forcing:0});function dc(t,e,i,n,a,o){var u,h,l,f;if(mt[t]&&!1!==(u=new mt[t]).init(a,u.rawVars?e[t]:function _processVars(t,e,i,n,a){if(s(t)&&(t=Gt(t,a,e,i,n)),!v(t)||t.style&&t.nodeType||$(t)||K(t))return r(t)?Gt(t,a,e,i,n):t;var o,u={};for(o in t)u[o]=Gt(t[o],a,e,i,n);return u}(e[t],n,a,o,i),i,n,o)&&(i._pt=h=new we(i._pt,a,t,0,1,u.render,u,0,u.priority),i!==d))for(l=i._ptLookup[i._targets.indexOf(a)],f=u._props.length;f--;)l[u._props[f]]=h;return u}function jc(t,r,e,i){var n,a,s=r.ease||i||"power1.inOut";if($(r))a=e[t]||(e[t]=[]),r.forEach(function(t,e){return a.push({t:e/(r.length-1)*100,v:t,e:s})});else for(n in r)a=e[n]||(e[n]=[]),"ease"===n||a.push({t:parseFloat(t),v:r[n],e:s})}var Wt,Ht,Jt=function _addPropTween(t,e,i,n,a,o,u,h,l,f){s(n)&&(n=n(a||0,t,o));var d,c=t[e],p="get"!==i?i:s(c)?l?t[e.indexOf("set")||!s(t["get"+e.substr(3)])?e:"get"+e.substr(3)](l):t[e]():c,_=s(c)?l?ue:re:ee;if(r(n)&&(~n.indexOf("random(")&&(n=rb(n)),"="===n.charAt(1)&&(!(d=ma(p,n)+(_a(p)||0))&&0!==d||(n=d))),!f||p!==n||Ht)return isNaN(p*n)||""===n?(c||e in t||S(e,n),function _addComplexStringPropTween(t,e,r,i,n,a,s){var o,u,h,l,f,d,c,p,_=new we(this._pt,t,e,0,1,ge,null,n),m=0,g=0;for(_.b=r,_.e=i,r+="",(c=~(i+="").indexOf("random("))&&(i=rb(i)),a&&(a(p=[r,i],t,e),r=p[0],i=p[1]),u=r.match(at)||[];o=at.exec(i);)l=o[0],f=i.substring(m,o.index),h?h=(h+1)%5:"rgba("===f.substr(-5)&&(h=1),l!==u[g++]&&(d=parseFloat(u[g-1])||0,_._pt={_next:_._pt,p:f||1===g?f:",",s:d,c:"="===l.charAt(1)?ma(d,l)-d:parseFloat(l)-d,m:h&&h<4?Math.round:0},m=at.lastIndex);return _.c=m")}),s.duration();else{for(l in u={},k)"ease"===l||"easeEach"===l||jc(l,k[l],u,k.easeEach);for(l in u)for(D=u[l].sort(function(t,e){return t.t-e.t}),o=E=0;o=t._tDur||e<0)&&t.ratio===u&&(u&&Ca(t,1),r||I||(Dt(t,u?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,r);return this},e.targets=function targets(){return this._targets},e.invalidate=function invalidate(t){return t&&this.vars.runBackwards||(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),R.prototype.invalidate.call(this,t)},e.resetTo=function resetTo(t,e,r,i,n){c||It.wake(),this._ts||this.play();var a,s=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Qt(this,s),a=this._ease(s/this._dur),function _updatePropTweens(t,e,r,i,n,a,s,o){var u,h,l,f,d=(t._pt&&t._ptCache||(t._ptCache={}))[e];if(!d)for(d=t._ptCache[e]=[],l=t._ptLookup,f=t._targets.length;f--;){if((u=l[f][e])&&u.d&&u.d._pt)for(u=u.d._pt;u&&u.p!==e&&u.fp!==e;)u=u._next;if(!u)return Ht=1,t.vars[e]="+=0",Qt(t,s),Ht=0,o?T(e+" not eligible for reset"):1;d.push(u)}for(f=d.length;f--;)(u=(h=d[f])._pt||h).s=!i&&0!==i||n?u.s+(i||0)+a*u.c:i,u.c=r-u.s,h.e&&(h.e=ka(r)+_a(h.e)),h.b&&(h.b=u.s+_a(h.b))}(this,t,e,r,i,a,s,n)?this.resetTo(t,e,r,i,1):(La(this,0),this.parent||Aa(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function kill(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e))return this._lazy=this._pt=0,this.parent?wb(this):this.scrollTrigger&&this.scrollTrigger.kill(!!I),this;if(this.timeline){var i=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Wt&&!0!==Wt.vars.overwrite)._first||wb(this),this.parent&&i!==this.timeline.totalDuration()&&Ua(this,this._dur*this.timeline._tDur/i,0,1),this}var n,a,s,o,u,h,l,f=this._targets,d=t?Pt(t):f,c=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function _arraysMatch(t,e){for(var r=t.length,i=r===e.length;i&&r--&&t[r]===e[r];);return r<0}(f,d))return"all"===e&&(this._pt=0),wb(this);for(n=this._op=this._op||[],"all"!==e&&(r(e)&&(u={},ja(e,function(t){return u[t]=1}),e=u),e=function _addAliasesToVars(t,e){var r,i,n,a,s=t[0]?ha(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(i in r=bt({},e),o)if(i in r)for(n=(a=o[i].split(",")).length;n--;)r[a[n]]=r[i];return r}(f,e)),l=f.length;l--;)if(~d.indexOf(f[l]))for(u in a=c[l],"all"===e?(n[l]=e,o=a,s={}):(s=n[l]=n[l]||{},o=e),o)(h=a&&a[u])&&("kill"in h.d&&!0!==h.d.kill(u)||Ba(this,h,"_pt"),delete a[u]),"all"!==s&&(s[u]=1);return this._initted&&!this._pt&&p&&wb(this),this},Tween.to=function to(t,e,r){return new Tween(t,e,r)},Tween.from=function from(t,e){return Ya(1,arguments)},Tween.delayedCall=function delayedCall(t,e,r,i){return new Tween(e,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:e,onReverseComplete:e,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},Tween.fromTo=function fromTo(t,e,r){return Ya(2,arguments)},Tween.set=function set(t,e){return e.duration=0,e.repeatDelay||(e.repeat=0),new Tween(t,e)},Tween.killTweensOf=function killTweensOf(t,e,r){return L.killTweensOf(t,e,r)},Tween}(qt);ta(te.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ja("staggerTo,staggerFrom,staggerFromTo",function(r){te[r]=function(){var t=new Zt,e=Ct.call(arguments,0);return e.splice("staggerFromTo"===r?5:4,0,0),t[r].apply(t,e)}});function rc(t,e,r){return t.setAttribute(e,r)}function zc(t,e,r,i){i.mSet(t,e,i.m.call(i.tween,r,i.mt),i)}var ee=function _setterPlain(t,e,r){return t[e]=r},re=function _setterFunc(t,e,r){return t[e](r)},ue=function _setterFuncWithParam(t,e,r,i){return t[e](i.fp,r)},le=function _getSetter(t,e){return s(t[e])?re:u(t[e])&&t.setAttribute?rc:ee},ce=function _renderPlain(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},_e=function _renderBoolean(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},ge=function _renderComplexString(t,e){var r=e._pt,i="";if(!t&&e.b)i=e.b;else if(1===t&&e.e)i=e.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*t):Math.round(1e4*(r.s+r.c*t))/1e4)+i,r=r._next;i+=e.c}e.set(e.t,e.p,i,e)},ve=function _renderPropTweens(t,e){for(var r=e._pt;r;)r.r(t,r.d),r=r._next},ye=function _addPluginModifier(t,e,r,i){for(var n,a=this._pt;a;)n=a._next,a.p===i&&a.modifier(t,e,r),a=n},Te=function _killPropTweensOf(t){for(var e,r,i=this._pt;i;)r=i._next,i.p===t&&!i.op||i.op===t?Ba(this,i,"_pt"):i.dep||(e=1),i=r;return!e},be=function _sortPropTweensByPriority(t){for(var e,r,i,n,a=t._pt;a;){for(e=a._next,r=i;r&&r.pr>a.pr;)r=r._next;(a._prev=r?r._prev:n)?a._prev._next=a:i=a,(a._next=r)?r._prev=a:n=a,a=e}t._pt=i},we=(PropTween.prototype.modifier=function modifier(t,e,r){this.mSet=this.mSet||this.set,this.set=zc,this.m=t,this.mt=r,this.tween=e},PropTween);function PropTween(t,e,r,i,n,a,s,o,u){this.t=e,this.s=i,this.c=n,this.p=r,this.r=a||ce,this.d=s||this,this.set=o||ee,this.pr=u||0,(this._next=t)&&(t._prev=this)}ja(Tt+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(t){return ct[t]=1}),ht.TweenMax=ht.TweenLite=te,ht.TimelineLite=ht.TimelineMax=Zt,L=new Zt({sortChildren:!1,defaults:j,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),N.stringFilter=Ib;function Hc(t){return(Oe[t]||Me).map(function(t){return t()})}function Ic(){var t=Date.now(),o=[];2Shkor Labs
\ No newline at end of file
diff --git a/video/carousel-ai-future/img/shkor-labs-logo-dark-bg.svg b/video/carousel-ai-future/img/shkor-labs-logo-dark-bg.svg
new file mode 100644
index 0000000..5fa648f
--- /dev/null
+++ b/video/carousel-ai-future/img/shkor-labs-logo-dark-bg.svg
@@ -0,0 +1 @@
+Shkor Labs
\ No newline at end of file
diff --git a/video/carousel-ai-future/img/smile.jpg b/video/carousel-ai-future/img/smile.jpg
new file mode 100644
index 0000000..ea24de0
Binary files /dev/null and b/video/carousel-ai-future/img/smile.jpg differ
diff --git a/video/carousel-ai-future/index.html b/video/carousel-ai-future/index.html
new file mode 100644
index 0000000..30e1ba1
--- /dev/null
+++ b/video/carousel-ai-future/index.html
@@ -0,0 +1,293 @@
+
+
+
+
+
+ Alex Shkor — The harness is the product
+
+
+
+
+
+
+
+
+
+
+
+ 01 / 08
+
+
6 thoughts on the future of AI
+
The model is not the product. The harness is.
+
Alex Shkor · founder, Shkor Labs & Cooperative 42
+
+
+
+
+
+
+ 02 / 08
+
+
01 · Models
+
Models are rented, interchangeable and trending to free .
+
Supply grows every quarter. Prices race to zero. Building on the model alone means building on sand.
+
+
+
+
+ PRICE PER TOKEN
+ → 0
+
+
+
+
+
+ 03 / 08
+
+
02 · The harness
+
The harness is everything around the model.
+
+
+
+
MODEL a commodity
+
principles
+
decisions
+
skills
+
memory
+
tools
+
rituals
+
+ The model thinks. The harness decides what it thinks about, how, and for whom.
+
+
+
+
+
+
+ 04 / 08
+
+
03 · The trap
+
A year of working with AI, and most people own nothing of it.
+
Every correction you type lives in a chat window. Scattered, forgotten, locked in someone else’s product.
+
+
+
+
+
+ 05 / 08
+
+
04 · The shift
+
+
Working with AI gives you answers.
+
+
Working on your harness gives you equity .
+
+
Competitors can rent the same models. They cannot copy two years of your harness.
+
+
+
+
+
+
+
+ 06 / 08
+
+
05 · The org
+
The org chart is half human, half agents .
+
+
In our studio a board decision at 10:00 is law across every agent by 10:04.
+
+
+
+
+
+ 07 / 08
+
+
06 · Next
+
Next, agents hire agents .
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The agent mesh becomes a labor market. A tuned harness for a niche becomes a product you can sell.
+
+
+
+
+
+
+
+
Everyone will have a harness in five years. Own yours , before it owns your future.
+
Start at cil.by
@alexshkor
+
+
+
+
+
+
+
+
diff --git a/video/carousel-ai-future/meta.json b/video/carousel-ai-future/meta.json
new file mode 100644
index 0000000..da4c5a1
--- /dev/null
+++ b/video/carousel-ai-future/meta.json
@@ -0,0 +1,5 @@
+{
+ "id": "carousel-ai-future",
+ "name": "carousel-ai-future",
+ "createdAt": "2026-10-17T10:55:57.466Z"
+}
\ No newline at end of file
diff --git a/video/carousel-ai-future/package.json b/video/carousel-ai-future/package.json
new file mode 100644
index 0000000..77057da
--- /dev/null
+++ b/video/carousel-ai-future/package.json
@@ -0,0 +1,11 @@
+{
+ "name": "carousel-ai-future",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "dev": "npx --yes hyperframes@0.8.168 preview",
+ "check": "npx --yes hyperframes@0.8.168 check",
+ "render": "npx --yes hyperframes@0.8.168 render",
+ "publish": "npx --yes hyperframes@0.8.168 publish"
+ }
+}