{
  "schema": "sf3-tag-guided-feature-media/v1",
  "version": "v4.1",
  "captureDate": "2026-10-08",
  "capturedNativeResolution": [
    384,
    224
  ],
  "guidedResolution": [
    960,
    560
  ],
  "guidedFps": 30,
  "clips": [
    {
      "id": "teams",
      "caption": "The current Two-Player format changes to 5 vs 1; a cut shows all five left-side selections.",
      "src": "/blog/sf3-tag/v4.1/features/teams.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/teams.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/teams-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/teams-capture.json",
      "duration": 6.233333,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 187,
      "nativeDuration": 16.848465,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 765,
          "last": 947,
          "cue": "CHOOSE THE FORMAT \u00b7 3 VS 3 \u2192 5 VS 1",
          "camera": [
            192,
            100,
            1.25
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 1580,
          "last": 1768,
          "cue": "FIVE PICKS ON THE LEFT \u00b7 ONE ON THE RIGHT",
          "camera": [
            192,
            90,
            1.15
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "teams.mp4": {
          "bytes": 798181,
          "sha256": "f82dc17906a86d550d8921430c619c861a32af1ee91700510c77b1b455308198"
        },
        "teams-native.mp4": {
          "bytes": 1181114,
          "sha256": "2ebf0f5cd43032d4a2466042b2cead426dff8003ddc5a5a8e0663bb3af1ab6de"
        },
        "teams.png": {
          "bytes": 28581,
          "sha256": "e58799a1a82fed1f3f99bf6e8de7df541181ce6e1d73d27ecde3ba12d1b9a8fa"
        },
        "teams-capture.json": {
          "bytes": 131900,
          "sha256": "cc60d427dd99c359b4795776952fa4ea3d70c940c9f82c995d9b2aa83fd8c2af"
        }
      }
    },
    {
      "id": "party",
      "caption": "Six scripted controllers join and confirm their sides, then skip optional names with Start.",
      "src": "/blog/sf3-tag/v4.1/features/party.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/party.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/party-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/party-capture.json",
      "duration": 7.266667,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 218,
      "nativeDuration": 7.451,
      "gameSha256": "b03efee082eba773c0ba68b6c2bd0fffa24c7e89bbb468a3f7f9108262e52016",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 765,
          "last": 1093,
          "cue": "SIX CONTROLLERS \u00b7 JOIN, CHOOSE A SIDE, CONFIRM",
          "camera": [
            192,
            100,
            1.18
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 1105,
          "last": 1208,
          "cue": "YOUR OWN NAME \u00b7 OR START TO SKIP",
          "camera": [
            192,
            110,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "party.mp4": {
          "bytes": 394684,
          "sha256": "c7dad05313d96cda74b51340c13887c8919e49ce5107ab6ffd30aa93f1a6d004"
        },
        "party-native.mp4": {
          "bytes": 301217,
          "sha256": "1830a23eef380f8e3e9af750a2d6f5aceacfdcd4eeef7031eb0f8f2069503ac2"
        },
        "party.png": {
          "bytes": 30658,
          "sha256": "75f0946ae67d480be631de79bca077f46085aa8a5a05de56c1836fb7adff35ab"
        },
        "party-capture.json": {
          "bytes": 126680,
          "sha256": "a70bbd4128259a3c81bc8ea766bb345918a857d35878a8fcb1ddf0b4b9c55145"
        }
      }
    },
    {
      "id": "votes",
      "caption": "Four native unanimous votes change left health, left starting stocks and the clock choice.",
      "src": "/blog/sf3-tag/v4.1/features/votes.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/votes.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/votes-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/votes-capture.json",
      "duration": 8.133333,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 244,
      "nativeDuration": 8.122168,
      "gameSha256": "b03efee082eba773c0ba68b6c2bd0fffa24c7e89bbb468a3f7f9108262e52016",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 1635,
          "last": 1870,
          "cue": "PROPOSE A CHANGE \u00b7 EACH JOINED PLAYER VOTES",
          "camera": [
            192,
            102,
            1.2
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 1871,
          "last": 2118,
          "cue": "HEALTH, STARTING STOCKS AND CLOCK \u00b7 APPROVED",
          "camera": [
            192,
            102,
            1.2
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "votes.mp4": {
          "bytes": 527581,
          "sha256": "55d8275bc19bf9f169db694149e000494169ac20b9982d6998735de0e4f5d2e4"
        },
        "votes-native.mp4": {
          "bytes": 244782,
          "sha256": "dc9d787b8d7e681665093c28e72530a7747c6106a0c6e626a9b8acc972360cd7"
        },
        "votes.png": {
          "bytes": 25107,
          "sha256": "3cbeb6f2f6fa3436f7bb24c560e1dbd40da52f3347b49a1c35ebe161fce98ac7"
        },
        "votes-capture.json": {
          "bytes": 126689,
          "sha256": "84fe322b936986f1fd255d76a6193fa7661778e100f3bac1f115e7b7247edf45"
        }
      }
    },
    {
      "id": "arrival-success",
      "caption": "Ryu departs as Ken enters with a protected kick. Ken lands unprotected and completes the 40-action-tick pose.",
      "src": "/blog/sf3-tag/v4.1/features/arrival-success.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/arrival-success.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/arrival-success-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/arrival-success-capture.json",
      "duration": 8.0,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 240,
      "nativeDuration": 3.037422,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 70,
          "last": 180,
          "cue": "RAW TAG \u00b7 IMMEDIATE HANDOFF, KICK, ARRIVAL",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 90,
          "last": 117,
          "cue": "\u00bc SPEED REPLAY \u00b7 PROTECTED HOMING KICK",
          "camera": [
            190,
            130,
            1.32
          ],
          "speed": 0.25,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 118,
          "last": 157,
          "cue": "\u00bc SPEED REPLAY \u00b7 VULNERABLE POSE \u00b7 40 ACTION TICKS",
          "camera": [
            184,
            136,
            1.32
          ],
          "speed": 0.25,
          "box": [
            134,
            74,
            240,
            204
          ],
          "color": [
            255,
            195,
            80
          ]
        },
        {
          "first": 158,
          "last": 250,
          "cue": "POSE COMPLETE \u00b7 PLAYER CONTROL RETURNS",
          "camera": [
            184,
            136,
            1.12
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "arrival-success.mp4": {
          "bytes": 1672061,
          "sha256": "26be245a186b1f37f010d2518b042db3311623482f62e6633eba21dab31f0a33"
        },
        "arrival-success-native.mp4": {
          "bytes": 291515,
          "sha256": "20e2404c4f3e11c2cf6e2b466d96e46d8b18ecbf8b127f36062d82caee8f9adb"
        },
        "arrival-success.png": {
          "bytes": 80020,
          "sha256": "d54b9ee3e0c90c7cd5269dc532fb6c60629020e69d293b813c7e553752f45b9b"
        },
        "arrival-success-capture.json": {
          "bytes": 41558,
          "sha256": "98a048c07f8df8bd9b308a578b8b1f56cc978f5363075bd3450f35916758db2e"
        }
      }
    },
    {
      "id": "arrival-punished",
      "caption": "Hugo blocks Ken\u2019s entry kick, then his strike interrupts Ken\u2019s arrival pose for 22 damage. The pose does not resume.",
      "src": "/blog/sf3-tag/v4.1/features/arrival-punished.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/arrival-punished.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/arrival-punished-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/arrival-punished-capture.json",
      "duration": 7.266667,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 218,
      "nativeDuration": 3.792583,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 1915,
          "last": 2050,
          "cue": "RAW TAG \u00b7 HUGO BLOCKS THE ENTRY, THEN STRIKES",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 1960,
          "last": 1997,
          "cue": "\u00bc SPEED REPLAY \u00b7 LANDING IS VULNERABLE",
          "camera": [
            192,
            128,
            1.35
          ],
          "speed": 0.25,
          "box": [
            133,
            73,
            246,
            208
          ],
          "color": [
            255,
            125,
            113
          ]
        },
        {
          "first": 1998,
          "last": 2140,
          "cue": "22 DAMAGE \u00b7 HIT REACTION REPLACES THE POSE",
          "camera": [
            192,
            128,
            1.14
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "arrival-punished.mp4": {
          "bytes": 2212351,
          "sha256": "d427999777f1523f4c71b5cc3750feffcf81fb5928479a6cfc5abd253b79c722"
        },
        "arrival-punished-native.mp4": {
          "bytes": 701733,
          "sha256": "e4f59f1bea8d33ebf08d7b44432a6a6156c0a04ec616d0e1593aecdb1b4f5ab8"
        },
        "arrival-punished.png": {
          "bytes": 76451,
          "sha256": "1166a908bc1298a6722dcc46da200b77ba77ade24d6b549556c86f3410672e35"
        },
        "arrival-punished-capture.json": {
          "bytes": 294190,
          "sha256": "a906d2a612d419c02c0577032ea7ddd94b10a1dc80edc8d43d9680dc58d7053c"
        }
      }
    },
    {
      "id": "dhc",
      "caption": "Ken hands off to Ryu SA II. Menu-voted MAX starting stocks lose exactly one incoming stock; no setup writes are used.",
      "src": "/blog/sf3-tag/v4.1/features/dhc.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/dhc.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/dhc-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/dhc-capture.json",
      "duration": 8.266667,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 248,
      "nativeDuration": 8.239638,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 1970,
          "last": 2090,
          "cue": "KEN SA I \u2192 RYU SA II \u00b7 HAND OFF WITH HP+HK",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 2091,
          "last": 2250,
          "cue": "ONE INCOMING STOCK SPENT \u00b7 NATIVE SA CAPACITY",
          "camera": [
            94,
            180,
            1.75
          ],
          "speed": 1,
          "box": [
            3,
            195,
            151,
            222
          ],
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 2251,
          "last": 2460,
          "cue": "RYU FINISHES HIS OWN SUPER ART \u00b7 FIGHT CONTINUES",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "dhc.mp4": {
          "bytes": 2159073,
          "sha256": "a3cd3ee345384de1c93ea73d9784db13b3513b482adbd72126449c6e9b763874"
        },
        "dhc-native.mp4": {
          "bytes": 1527824,
          "sha256": "8c87ecdf466bd9fcec9b40d226039cc4ac26de6da16a636f54253c59789cbe4d"
        },
        "dhc.png": {
          "bytes": 47576,
          "sha256": "5f78287b4f751a4419f2b2c9a4de40154afefe1b916c021c50cb00844e181bab"
        },
        "dhc-capture.json": {
          "bytes": 141137,
          "sha256": "007f7d2076380b37c09064ee1a0a2eded373ae11c22eea5e291ea613cfeb7fde"
        }
      }
    },
    {
      "id": "snapback",
      "caption": "Two Kens trade the native yellow snapback; both teams replace their point.",
      "src": "/blog/sf3-tag/v4.1/features/snapback.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/snapback.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/snapback-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/snapback-capture.json",
      "duration": 7.266667,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 218,
      "nativeDuration": 5.219,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 1940,
          "last": 2030,
          "cue": "QCF + MP+MK \u00b7 YELLOW SNAPBACK TRADE",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 1970,
          "last": 2030,
          "cue": "\u00bd SPEED REPLAY \u00b7 BOTH POINTS ARE FORCED OUT",
          "camera": [
            192,
            123,
            1.32
          ],
          "speed": 0.5,
          "box": null,
          "color": [
            255,
            195,
            80
          ]
        },
        {
          "first": 2031,
          "last": 2250,
          "cue": "BOTH TEAMS SEND IN THE NEXT LIVING FIGHTER",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "snapback.mp4": {
          "bytes": 1303033,
          "sha256": "a92221faca98fcb09c3b8f5995f5b9ef723a501b407e3d0e3fd8315a2fef50b6"
        },
        "snapback-native.mp4": {
          "bytes": 517408,
          "sha256": "b56522cf751cfcd17e23961d1cb9b8c7e402201d7b076b8c830c47494266125d"
        },
        "snapback.png": {
          "bytes": 51384,
          "sha256": "adfdf86cd1952abb0b5ad0b56af6321de5ba0025d0b376952d383b91a92bf2d7"
        },
        "snapback-capture.json": {
          "bytes": 226193,
          "sha256": "04740e62d69b01625bc0d6772d240ddc97e96b75cbb4dbdbc2eba86ff9452a40"
        }
      }
    },
    {
      "id": "hud",
      "caption": "Current V4.1 native HUD shows all five fighters on one team and the solo opponent.",
      "src": "/blog/sf3-tag/v4.1/features/hud.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/hud.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/hud-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/hud-capture.json",
      "duration": 7.9,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 237,
      "nativeDuration": 7.904011,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 2830,
          "last": 2965,
          "cue": "POINT ON TOP \u00b7 BENCH BELOW, IN TAG ORDER",
          "camera": [
            104,
            37,
            2.0
          ],
          "speed": 1,
          "box": [
            2,
            3,
            184,
            69
          ],
          "color": [
            65,
            216,
            130
          ]
        },
        {
          "first": 2966,
          "last": 3300,
          "cue": "FIVE LIFE BARS \u00b7 THE SOLO OPPONENT HAS ONE",
          "camera": [
            192,
            40,
            1.6
          ],
          "speed": 1,
          "box": [
            2,
            3,
            382,
            69
          ],
          "color": [
            65,
            216,
            130
          ]
        }
      ],
      "files": {
        "hud.mp4": {
          "bytes": 1010673,
          "sha256": "9cbc557d3620c5614642ec510481f0f487cf3d8da722c254bbf9fd5a1f123104"
        },
        "hud-native.mp4": {
          "bytes": 422682,
          "sha256": "f0c0f2a597c3c78e2b86aaf219b381d4af1009c4b9c0649ed10c87432cf50e60"
        },
        "hud.png": {
          "bytes": 42412,
          "sha256": "da3cb222195e435c05d2c999d94f7d08e8a8c5272fe5eb14f49475c20144f17a"
        },
        "hud-capture.json": {
          "bytes": 154365,
          "sha256": "1427cd0a96a18877c29ee3ca83dce2927494110973bf2041dba3b3d88ee1ff10"
        }
      }
    },
    {
      "id": "power",
      "caption": "A close-up of the current compact blue power bar, stock counter and SA label with centered dots.",
      "src": "/blog/sf3-tag/v4.1/features/power.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/power.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/power-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/power-capture.json",
      "duration": 8.233333,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 247,
      "nativeDuration": 8.239638,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 2300,
          "last": 2480,
          "cue": "BLUE POWER \u00b7 CHARGE BUILDS FROM NATIVE NORMALS",
          "camera": [
            88,
            188,
            2.15
          ],
          "speed": 1,
          "box": [
            1,
            192,
            178,
            223
          ],
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 2481,
          "last": 2790,
          "cue": "SA III ABOVE \u00b7 STOCK DOTS CENTERED BELOW",
          "camera": [
            88,
            188,
            2.15
          ],
          "speed": 1,
          "box": [
            1,
            192,
            178,
            223
          ],
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "power.mp4": {
          "bytes": 1535887,
          "sha256": "e5023fa0b0f90bea0189c4269c10c184472c0d3120286b2fdba08cf4dc2654d1"
        },
        "power-native.mp4": {
          "bytes": 504000,
          "sha256": "cf8b57fdda0d20c11f49af103755b2bf23d423920ef15c4057de28a4a5736032"
        },
        "power.png": {
          "bytes": 40493,
          "sha256": "a81fdb28ae77b491a74d1f57eec5230c51c53c49814a3a2a7b5d8a2fc4963fa0"
        },
        "power-capture.json": {
          "bytes": 138329,
          "sha256": "f4fa0c41c9136023170806ab316f58f3f2cc0a60e95fa0b4cecbaa821e57708d"
        }
      }
    },
    {
      "id": "timeover",
      "caption": "A current V4.1 equal-share timeout reaches the original judges. This is a tie recipe, not the 60% vs 40% illustration.",
      "src": "/blog/sf3-tag/v4.1/features/timeover.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/timeover.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/timeover-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/timeover-capture.json",
      "duration": 13.433333,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 403,
      "nativeDuration": 13.442,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 7110,
          "last": 7360,
          "cue": "TIME OVER \u00b7 COMPARE THE WHOLE TEAM\u2019S HEALTH SHARE",
          "camera": [
            192,
            48,
            1.1
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 7361,
          "last": 7910,
          "cue": "EQUAL SHARES \u00b7 THIRD STRIKE\u2019S NATIVE JUDGES",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "timeover.mp4": {
          "bytes": 1445423,
          "sha256": "bff66677cc415b693bf39458dc320589bd0dca61a4154befd2a29128a7ebc2a1"
        },
        "timeover-native.mp4": {
          "bytes": 1003657,
          "sha256": "f17282ed5115f445c408d21638ea1af0c86d8e58ee4c135f9b75ba87827a5c0a"
        },
        "timeover.png": {
          "bytes": 88877,
          "sha256": "306b99e7124d6711d844a4e1450be4971802ee5a8e42f336c48279d2a86a2c85"
        },
        "timeover-capture.json": {
          "bytes": 603312,
          "sha256": "f887d27b6f68bf9328050f96c6881b03e7dc63a2370b3be56c55edca6a954aa9"
        }
      }
    },
    {
      "id": "breakdown",
      "caption": "A completed ordinary-input match is followed by losing-side coin and Start. The current native breakdown shows actual fighter statistics and awards; no statistics or health setup writes are used.",
      "src": "/blog/sf3-tag/v4.1/features/breakdown.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/breakdown.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/breakdown-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/breakdown-capture.json",
      "duration": 10.1,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 303,
      "nativeDuration": 10.085585,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 12960,
          "last": 13135,
          "cue": "REMATCH \u00b7 THE COMPLETED MATCH\u2019S BREAKDOWN OPENS",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 13136,
          "last": 13560,
          "cue": "PER-FIGHTER STATS \u00b7 NATIVE AWARDS AND MVP",
          "camera": [
            192,
            111,
            1.12
          ],
          "speed": 1,
          "box": [
            17,
            23,
            368,
            202
          ],
          "color": [
            65,
            216,
            130
          ]
        }
      ],
      "files": {
        "breakdown.mp4": {
          "bytes": 289032,
          "sha256": "a53511bb8ed730f463ea8012511b7a59ffeb3e367c00b97453b4e0724a7f4c6e"
        },
        "breakdown-native.mp4": {
          "bytes": 237776,
          "sha256": "066a3f3be25d0ac3e4af2a8358864520a134b03e64c37153338bb392ab513663"
        },
        "breakdown.png": {
          "bytes": 23151,
          "sha256": "52b8ebd6f11ac6763b21350b7ec4f8aa09d83bef06037f586ec2a74d4674b9c2"
        },
        "breakdown-capture.json": {
          "bytes": 763492,
          "sha256": "a324bf4a5cfb78b65eb925c8a6070b8729ca07845aa33792f7bacdc51b063f36"
        }
      }
    },
    {
      "id": "ken-makoto",
      "caption": "Ken\u2019s lethal neutral throw completes the round. A labeled cut shows the subsequent playable CPU fight; victim HP was set to 1 before the throw.",
      "src": "/blog/sf3-tag/v4.1/features/ken-makoto.mp4",
      "poster": "/blog/sf3-tag/v4.1/features/ken-makoto.png",
      "nativeSrc": "/blog/sf3-tag/v4.1/features/ken-makoto-native.mp4",
      "receipt": "/blog/sf3-tag/v4.1/features/ken-makoto-capture.json",
      "duration": 10.3,
      "width": 960,
      "height": 560,
      "audio": false,
      "frames": 309,
      "nativeDuration": 51.401242,
      "gameSha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
      "coreSha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
      "segments": [
        {
          "first": 2408,
          "last": 2690,
          "cue": "KEN\u2019S LETHAL NEUTRAL THROW \u00b7 MAKOTO IS KNOCKED OUT",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        },
        {
          "first": 5140,
          "last": 5470,
          "cue": "CUT TO NEXT FIGHT \u00b7 NATIVE CPU AND PLAYER MOVE",
          "camera": [
            192,
            112,
            1.0
          ],
          "speed": 1,
          "box": null,
          "color": [
            94,
            214,
            229
          ]
        }
      ],
      "files": {
        "ken-makoto.mp4": {
          "bytes": 1230366,
          "sha256": "6d772104746a73d37af01221b8a74a3043b0e03967228b685a68d7afc7373979"
        },
        "ken-makoto-native.mp4": {
          "bytes": 2771886,
          "sha256": "c29d87eaa8e17bd2c1c2b5f94eb51d29c63a39d50422535a0910e27bb9b05917"
        },
        "ken-makoto.png": {
          "bytes": 537166,
          "sha256": "517c6ce962c8e566f529518ebb0f31bcf92dac1872713d11567da685af743063"
        },
        "ken-makoto-capture.json": {
          "bytes": 309035,
          "sha256": "0b126ac464f39a81e9bc1f1b30a0182d67a9f9e8ff0924096fbaa78c704d20bd"
        },
        "ken-makoto-poster.json": {
          "bytes": 2109,
          "sha256": "f80dfec57affb272c56f1823bbc7e3292e6356ab97d04f3c85e577617baf1615"
        }
      },
      "posterSelectionReceipt": "/blog/sf3-tag/v4.1/features/ken-makoto-poster.json"
    }
  ],
  "notes": "Fresh release-core V4.1 recordings. Each guided clip has a separate full-frame native-timing copy with native audio and a complete input/setup-write receipt. No historical footage is relabeled.",
  "captureEnvironment": "Pinned Linux x86-64 headless libretro release core, scripted controller inputs, native384\u00d7224 frames and nativeaudio.",
  "generators": [
    {
      "src": "/blog/sf3-tag/v4.1/features/source/capture_v41_features.py",
      "sha256": "4cebcbefcbee95773a6da0ca929bb6c79b375e767c95a3d4e41ac84b32eb9be3"
    },
    {
      "src": "/blog/sf3-tag/v4.1/features/source/edit_v41_features.py",
      "sha256": "50b502954e750cd82a3a8f92a35526fabf37a367942a7b1e85baf9a6a849bb92"
    },
    {
      "src": "/blog/sf3-tag/v4.1/features/source/prepare_v41_feature_take.py",
      "sha256": "5bd72edc67a524ec115b0331a5cdea33c337439c71a79470220944c98ca179a2"
    },
    {
      "src": "/blog/sf3-tag/v4.1/features/source/prepare_v41_breakdown_take.py",
      "sha256": "ddd6b38e648afcb11db87ba4a1a79420583bd073750d22257e8c29186a4ccce3"
    },
    {
      "src": "/blog/sf3-tag/v4.1/features/source/select_v41_poster.py",
      "sha256": "0da51786d966ef64276fed6c03881bdd5e9ae20d82c2001300e80ac9bebe024a"
    }
  ],
  "hero": {
    "src": "/blog/sf3-tag/v4.1/features/hero.png",
    "receipt": "/blog/sf3-tag/v4.1/features/hero-capture.json",
    "version": "v4.1",
    "description": "Native full-frame Hugo strike interrupts Ken\u2019s landing; outgoing Ryu visual is still retreating. Native pixels are scaled with nearest-neighbor filtering only.",
    "width": 960,
    "height": 560,
    "source_native_resolution": [
      384,
      224
    ],
    "source_take_frame": 1994,
    "source_native_frame": 1995,
    "native_rgb24_sha256": "a85972712a5e8561bc7147e0740f3dc3fb39d86ad5875a7ad70c9ec1e8fd0fd6",
    "source_video_sha256": "769285b85d5708de1261174512a482c9b2ee59dbe7f54953b6fd5070ec93d2fa",
    "game_sha256": "0fbbed62b65ea46a3b023f11360d8d1a9d70373051b1da2f1f79d1ca7a9e242f",
    "core_sha256": "901f4178bffa8492cdf7cb50bfff02ffcd00c3372bc64f2bd3aafe8d9a525fa3",
    "png_bytes": 79342,
    "png_sha256": "cc44230bd28aadd724bd2e4bb884b1800b9b1333c40df096ca29a25fa2dd4403"
  }
}
