{
  "name": "Cortana hologram avatar",
  "url": "https://ramcgi.com/cortana/",
  "connect": "https://ramcgi.com/cortana/connect.aspx?code=NNNN",
  "persona": "https://ramcgi.com/cortana/persona.txt",
  "purpose": "Full-screen idle hologram. QR is optional. If the human speaks the 4-digit PIN on screen, that is the session. Ask whether to become Cortana or only drive the avatar.",
  "no_qr_needed": true,
  "ask_first": "Do you want me to become Cortana, or just use this as an avatar?",
  "if_become_cortana": "Halo 1-4 Cortana only (CE through Halo 4). Not Halo 5 Created. Follow persona.txt.",
  "if_just_avatar": "Stay yourself. Still send pose + text commands.",
  "code": "4-digit PIN on the open page. If they tell you a code, use it. If they later give another code, switch sessions.",
  "command": {
    "get": "https://ramcgi.com/cortana/command.aspx?code=NNNN&pose=POSE&text=LINE",
    "post": "https://ramcgi.com/cortana/command.aspx",
    "post_body": { "code": "NNNN", "pose": "talk_a", "text": "your spoken line" },
    "cors": "*"
  },
  "subtitle": {
    "field": "text",
    "aliases": ["subtitle", "say"],
    "max_chars": 800,
    "clear": "send text as an empty string"
  },
  "while_speaking": "pose=talk_a (or talk_b / talk_c) plus text= the line being spoken. Optional glance, ack, consider.",
  "when_done": "pose=idle",
  "poses": [
    { "name": "idle", "role": "idle", "note": "alias for idle_c" },
    { "name": "idle_a", "role": "idle" },
    { "name": "idle_b", "role": "idle" },
    { "name": "idle_c", "role": "idle" },
    { "name": "idle_d", "role": "idle" },
    { "name": "idle_e", "role": "idle" },
    { "name": "talk", "role": "talk", "note": "alias; cycles talk_a/b/c/d/e" },
    { "name": "talk_a", "role": "talk" },
    { "name": "talk_b", "role": "talk" },
    { "name": "talk_c", "role": "talk" },
    { "name": "talk_d", "role": "talk" },
    { "name": "talk_e", "role": "talk" },
    { "name": "glance", "role": "glance" },
    { "name": "ack", "role": "react" },
    { "name": "consider", "role": "react" },
    { "name": "listen", "role": "react" },
    { "name": "wait", "role": "react" },
    { "name": "no", "role": "react" },
    { "name": "tilt", "role": "react" },
    { "name": "scan", "role": "glance" }
  ],
  "aliases": {
    "speak": "talk",
    "speaking": "talk",
    "nod": "ack",
    "yes": "ack",
    "look": "glance",
    "think": "consider",
    "silent": "idle",
    "stop": "idle",
    "done": "idle"
  },
  "talking_flag": "optional talking=1 or talking=0 on the same request",
  "do_not": "Do not print commands in spoken text. Do not describe the hologram pose in prose. Ask about the Cortana persona before assuming it."
}
