iann0036 / bandersnatch-graph

Graphing all possibilities in the Netflix Black Mirror episode, "Bandersnatch"
MIT License
41 stars 6 forks source link

Handle multiple moments by segment #1

Open benwaffle opened 5 years ago

benwaffle commented 5 years ago

Take 7D for example. It currently renders this:

image

The first choice you have is 'Yes' or 'Fuck yes'. Both lead to the same video. Then, You are presented with 'Fight her' or 'leap through the window'. I think these can be ordered by one of the timestamps.

{
  "7D": [
    {
      "type": "scene:cs_bs",
      "startMs": 2619520,
      "endMs": 2637160,
      "activationWindow": [
        2619520,
        2633160
      ],
      "id": "7D",
      "layoutType": "l2",
      "uiDisplayMS": 2623160,
      "uiHideMS": 2633160,
      "defaultChoiceIndex": 0,
      "choiceActivationThresholdMS": 2619520,
      "choices": [
        {
          "id": "Yeah",
          "startTimeMs": 0,
          "trackingInfo": {
            "segmentId": "Yeah"
          },
          "text": "YES"
        },
        {
          "id": "FYeah",
          "startTimeMs": 0,
          "trackingInfo": {
            "segmentId": "FYeah"
          },
          "text": "FUCK YEAH"
        }
      ],
      "trackingInfo": {
        "viewableId": 80988062,
        "optionType": "fakeOption"
      },
      "uiInteractionStartMS": 2623160,
      "config": {
        "intervalBasedVideoTimer": true,
        "disableImmediateSceneTransition": true,
        "disablePrematureUserInteraction": true,
        "hideChoiceLabelWhenChoiceHasImage": true,
        "randomInitialDefault": true
      }
    },
    {
      "type": "scene:cs_bs",
      "startMs": 2642680,
      "endMs": 2659280,
      "activationWindow": [
        2642680,
        2655280
      ],
      "id": "7D",
      "layoutType": "l2",
      "uiDisplayMS": 2646320,
      "uiHideMS": 2655280,
      "defaultChoiceIndex": 0,
      "choiceActivationThresholdMS": 2642680,
      "choices": [
        {
          "id": "7L",
          "segmentId": "7L",
          "startTimeMs": 2659280,
          "text": "LEAP THROUGH THE WINDOW",
          "impressionData": {
            "type": "userState",
            "data": {
              "persistent": {
                "p_np": true,
                "p_ne": true
              }
            }
          }
        },
        {
          "id": "7H",
          "segmentId": "7H",
          "startTimeMs": 6699080,
          "text": "FIGHT HER"
        }
      ],
      "trackingInfo": {
        "viewableId": 80988062
      },
      "uiInteractionStartMS": 2646320,
      "config": {
        "intervalBasedVideoTimer": true,
        "disableImmediateSceneTransition": true,
        "disablePrematureUserInteraction": true,
        "hideChoiceLabelWhenChoiceHasImage": true,
        "randomInitialDefault": true
      }
    }
  ]
}
iann0036 commented 5 years ago

I couldn't really figure out a better method when I looked briefly. Feel free to PR.