{
  "note": "GENERATED BY SUGARMAGIC - DO NOT EDIT",
  "schemaVersion": 2,
  "gameProjectIdentity": {
    "id": "minis",
    "schema": "GameProject",
    "version": 1
  },
  "gameId": "minis",
  "gameProjectMajorVersion": 1,
  "installedPluginIds": [
    "sugaragent",
    "sugardeploy",
    "sugarlang",
    "sugarprofile"
  ],
  "pluginConfigurations": [
    {
      "identity": {
        "id": "67263223-819d-4c79-81c3-9d713030b6df",
        "schema": "PluginConfiguration",
        "version": 1
      },
      "pluginId": "sugaragent",
      "enabled": true,
      "config": {
        "loreSourceKind": "local",
        "loreBackend": "on-disk",
        "loreLocalPath": "/Users/nikki/projects/minis/lore",
        "loreRepositoryUrl": "",
        "loreRepositoryRef": "main",
        "openAiVectorStoreId": "",
        "anthropicModel": "",
        "anthropicSummaryModel": "",
        "anthropicRegenModel": "",
        "maxLoreResults": 4,
        "maxLoreCharsPerItem": 600,
        "loreRelevanceFloor": 0.3,
        "memoryEnabled": true,
        "memoryDigestMaxChars": 800,
        "questAwareNpcsEnabled": true,
        "debugLogging": false,
        "tone": "",
        "moderationEnabled": false,
        "blocklist": ""
      }
    },
    {
      "identity": {
        "id": "03f8f39d-9ec8-4e41-83b2-4961806bb701",
        "schema": "PluginConfiguration",
        "version": 1
      },
      "pluginId": "sugardeploy",
      "enabled": true,
      "config": {
        "publishSettings": {
          "mini": {
            "liveDomain": "minis.wordlarkhollow.com",
            "hosting": {
              "frontendDeploymentTargetId": "netlify",
              "netlify": {
                "siteId": "0b1296fc-5f1d-4a96-9814-e6e548688f82",
                "siteName": "",
                "productionContext": "production"
              }
            }
          }
        },
        "settings": {
          "backendDeploymentTargetId": "google-cloud-run",
          "workingDirectory": "/Users/nikki/projects/minis",
          "githubRepo": "nikkileaps/minis",
          "targetOverrides": {
            "google-cloud-run": {
              "region": "us-central1",
              "promptEnforcement": true,
              "counters": {
                "sessionHeaderName": "x-minis-session",
                "deviceHeaderName": "x-sugarmagic-device",
                "sessionTurnLimit": 10,
                "deviceTurnLimit": null,
                "accountDailyTurnLimit": null,
                "requireSessionHeader": true
              }
            },
            "local": {
              "gatewayHostPortBase": 8788
            }
          }
        },
        "versionedProjectIdentifiers": {
          "v1": "8k1pn"
        },
        "deployHistory": [
          {
            "runId": 34267329348,
            "runUrl": "https://github.com/nikkileaps/minis/actions/runs/34267329348",
            "ref": "main",
            "headSha": "7f37e0bebe181ec9e24cca6efd4c76ad7627ae19",
            "dispatchedAt": "2026-09-08T19:09:47.184Z",
            "status": "queued",
            "conclusion": null
          },
          {
            "runId": 34266035506,
            "runUrl": "https://github.com/nikkileaps/minis/actions/runs/34266035506",
            "ref": "main",
            "headSha": "47e806adce8605345249b1bb0a9a0928bd9cc4e4",
            "dispatchedAt": "2026-09-08T18:56:41.351Z",
            "status": "queued",
            "conclusion": null
          },
          {
            "runId": 34186001813,
            "runUrl": "https://github.com/nikkileaps/minis/actions/runs/34186001813",
            "ref": "main",
            "headSha": "d1f548dabfba95f8d702fe5148b2d753c5488b8e",
            "dispatchedAt": "2026-09-08T04:09:46.964Z",
            "status": "queued",
            "conclusion": null
          },
          {
            "runId": 34181490780,
            "runUrl": "https://github.com/nikkileaps/minis/actions/runs/34181490780",
            "ref": "main",
            "headSha": "5c448b6819b0e9327530565a038aaf7a73124106",
            "dispatchedAt": "2026-09-08T02:51:21.985Z",
            "status": "queued",
            "conclusion": null
          }
        ]
      }
    },
    {
      "identity": {
        "id": "5e5b7248-a03b-4130-b6cd-c938c8f3e0b2",
        "schema": "PluginConfiguration",
        "version": 1
      },
      "pluginId": "sugarlang",
      "enabled": true,
      "config": {
        "targetLanguage": "es",
        "fileBackedAssetPaths": [
          "assets/sugarlang/scene-contexts.json",
          "assets/sugarlang/variants.json"
        ]
      }
    },
    {
      "identity": {
        "id": "b977ec07-07a0-4ed4-b2c1-219fb520a4a0",
        "schema": "PluginConfiguration",
        "version": 1
      },
      "pluginId": "sugarprofile",
      "enabled": true,
      "config": {
        "enableLogin": false,
        "supabaseUrl": "https://fhhcmtbtozlxaboqhrla.supabase.co",
        "supabaseAnonKey": "",
        "allowAnonymous": true
      }
    }
  ],
  "regions": [
    {
      "identity": {
        "id": "pp-ep01-longbourn",
        "schema": "RegionDocument",
        "version": 1
      },
      "displayName": "Longbourn Sitting Room (P&P ep. 1)",
      "placement": {
        "gridPosition": {
          "x": 0,
          "y": 0
        },
        "placementPolicy": "world-grid"
      },
      "placedAssets": [
        {
          "instanceId": "placed-asset:lb-storybook",
          "assetDefinitionId": "minis:asset:storybook",
          "displayName": "storybook the room stands on (11.5 x 8.4, page top 1 cm under the floor)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.1,
              -0.03,
              0.175
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-floor",
          "assetDefinitionId": "minis:asset:floor-planks",
          "displayName": "floor (wide planks, 7.4 x 5.15 at scale 1)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.1,
              0,
              0.175
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-wall-fireplace",
          "assetDefinitionId": "minis:asset:wall-doorway",
          "displayName": "wall z=2.4 (long wall 6.6 m: fireplace + hall doorway)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -0.9,
              0,
              2.4
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-wall-window",
          "assetDefinitionId": "minis:asset:wall-windowed-sage",
          "displayName": "wall x=2.4 (short wall 4.8 m: sash window)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.4,
              0,
              0.18
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-curtains",
          "assetDefinitionId": "minis:asset:curtain-pair",
          "displayName": "curtains (standin pair on the sash window)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.4,
              0,
              0.09
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-fireplace",
          "assetDefinitionId": "minis:asset:fireplace",
          "displayName": "fireplace + mantle (clock centred, four candles)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              0.35,
              0,
              2.4
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-fire",
          "assetDefinitionId": "minis:asset:fire-01",
          "displayName": "the fire: fire-01 stock prop (three flame tongues over embers, Fire Flicker deform) on the ash bed of the Longbourn fireplace's firebox (fireplace local x +-0.33, y 0..0.68, z -0.26..-0.06, ash bed top 0.055; fire-01 local z -0.10..0.12 under the placement's yaw pi, so it spans world z 2.13..2.35 inside the box; flame tip at 0.405, the hearth light 4.5 cm above it); super gentle: the flicker's rate and depths overridden here, the asset's defaults are 221B's",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [
            {
              "shaderDefinitionId": "minis:shader:fire-flicker",
              "slot": "deform"
            }
          ],
          "shaderParameterOverrides": [
            {
              "parameterId": "flickerRate",
              "slot": "deform",
              "value": 1.6
            },
            {
              "parameterId": "flickerDepth",
              "slot": "deform",
              "value": 0.03
            },
            {
              "parameterId": "lickDepth",
              "slot": "deform",
              "value": 0.02
            }
          ],
          "transform": {
            "position": [
              0.35,
              0.055,
              2.25
            ],
            "rotation": [
              0,
              3.141592653589793,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-coal-scuttle",
          "assetDefinitionId": "minis:asset:coal-scuttle",
          "displayName": "brass coal scuttle by the hearth (settee side)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -0.5,
              0,
              2.27
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-settee",
          "assetDefinitionId": "minis:asset:settee",
          "displayName": "wooden settee between the fireplace and the doorway",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.35,
              0,
              2.15
            ],
            "rotation": [
              0,
              3.141592653589793,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-picture-landscape",
          "assetDefinitionId": "minis:asset:picture-landscape",
          "displayName": "landscape centred over the mantle",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              0.35,
              1.63,
              2.4
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-picture-5",
          "assetDefinitionId": "minis:asset:picture-frame",
          "displayName": "silhouette over the settee",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.35,
              1.6,
              2.4
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-picture-2",
          "assetDefinitionId": "minis:asset:picture-frame",
          "displayName": "silhouette past the doorway",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -3.3,
              1.6,
              2.4
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-picture-3",
          "assetDefinitionId": "minis:asset:picture-frame",
          "displayName": "silhouette pair over the sideboard (left)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.4,
              1.42,
              -1.35
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-picture-6",
          "assetDefinitionId": "minis:asset:picture-frame",
          "displayName": "silhouette pair over the sideboard (right)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.4,
              1.85,
              -1.35
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-picture-4",
          "assetDefinitionId": "minis:asset:picture-frame",
          "displayName": "silhouette over the lamp table",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.4,
              1.6,
              1.3
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-bookcase",
          "assetDefinitionId": "minis:asset:bookcase",
          "displayName": "bookcase (corner, fireplace wall)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2,
              0,
              2.4
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-armchair-bennet",
          "assetDefinitionId": "minis:asset:armchair-large",
          "displayName": "Mr. Bennet's armchair (forest green standin, angled 20 deg toward the sofa, front at the rug's back edge)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              1.45,
              0,
              1.7
            ],
            "rotation": [
              0,
              3.491592653589793,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-side-table",
          "assetDefinitionId": "minis:asset:side-table",
          "displayName": "lamp table beside the window (window to armchair)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.17,
              0,
              1.3
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-lamp",
          "assetDefinitionId": "minis:asset:lamp",
          "displayName": "table lamp (standin, warm shade)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.25,
              0.7,
              1.38
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-books-side-table",
          "assetDefinitionId": "minis:asset:town-book-group-04",
          "displayName": "books on the lamp table",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.08,
              0.7,
              1.22
            ],
            "rotation": [
              0,
              0.3,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-sofa",
          "assetDefinitionId": "minis:asset:sofa",
          "displayName": "sofa (forest green standin, 1.2 m off the window wall, angled 15 deg toward the fire)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -0.009682253142665465,
              0,
              -0.4321757380131145
            ],
            "rotation": [
              3.141592653589793,
              -1.5647896527091338,
              3.141592653589793
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-side-table-round",
          "assetDefinitionId": "minis:asset:side-table-round",
          "displayName": "round table before the sofa's near end",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              0.11816397028268055,
              0,
              -1.5391794295552796
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-books-round-table",
          "assetDefinitionId": "minis:asset:town-book-group-06",
          "displayName": "books on the round table",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              0.11816397028268055,
              0.6,
              -1.5391794295552796
            ],
            "rotation": [
              0,
              0.2,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-sideboard",
          "assetDefinitionId": "minis:asset:sideboard",
          "displayName": "sideboard with plates",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              2.4,
              0,
              -1.35
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-plant",
          "assetDefinitionId": "minis:asset:town-plant-02",
          "displayName": "potted plant (POLYGON Town Plant_02) at the window wall's open end",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              1.65,
              0,
              -2
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-desk",
          "assetDefinitionId": "minis:asset:writing-desk",
          "displayName": "writing desk on the ledge past the doorway wall's end, against the wall line",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -4.25,
              0,
              2.125
            ],
            "rotation": [
              0,
              3.141592653589793,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-desk-chair",
          "assetDefinitionId": "minis:asset:town-chair-01",
          "displayName": "desk chair (POLYGON Town Chair_01) tucked under the desk",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -4.25,
              0,
              1.72
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-armchair-lydia",
          "assetDefinitionId": "minis:asset:armchair-small",
          "displayName": "Lydia's small armchair (standin), 0.7 m across the table from the sofa",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -2.4335122750867106,
              0,
              -0.5852267182659319
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-rug",
          "assetDefinitionId": "minis:asset:rug-rect",
          "displayName": "brick-red rug (3.4 x 3.1, sofa front to Lydia's chair)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.15,
              0,
              -0.35
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-tea-table",
          "assetDefinitionId": "minis:asset:regency-tea-table",
          "displayName": "tea table, regency prop (0.77 m before the sofa front, scene bbox centre)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.1710973840608263,
              0,
              -0.633214210852409
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-tea-service",
          "assetDefinitionId": "minis:asset:tea-service",
          "displayName": "tea service on the tea table (origin on the tabletop)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.1710973840608263,
              0.46,
              -0.633214210852409
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-vase-tea",
          "assetDefinitionId": "minis:asset:vase-flowers",
          "displayName": "white flowers on the tea table",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.3010973840608262,
              0.46,
              -0.333214210852409
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-hall-table",
          "assetDefinitionId": "minis:asset:side-table",
          "displayName": "small square table past the doorway (side-table at 0.67)",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -3.6,
              0,
              2.23
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              0.67,
              1,
              0.67
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-vase-hall",
          "assetDefinitionId": "minis:asset:vase-flowers",
          "displayName": "blue-and-white vase of white flowers on the hall table",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -3.6,
              0.7,
              2.23
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-basket",
          "assetDefinitionId": "minis:asset:basket-yarn",
          "displayName": "basket of yarn at the sofa's near end",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -0.17412707883523615,
              0,
              -1.4312061685269066
            ],
            "rotation": [
              0,
              0.4,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-asset:lb-newspaper",
          "assetDefinitionId": "minis:asset:prop-newspaper-open",
          "displayName": "Mr. Bennet's newspaper",
          "parentFolderId": null,
          "inspectable": null,
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              1.254,
              0.7,
              1.164
            ],
            "rotation": [
              0,
              3.491592653589793,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        }
      ],
      "placedLights": [
        {
          "instanceId": "placed-light:lb-hearth",
          "kind": "point",
          "displayName": "hearth fire (flame, the room's warm point)",
          "parentFolderId": null,
          "enabled": true,
          "color": 16734744,
          "intensity": 3,
          "radius": 2.2,
          "spot": null,
          "area": null,
          "modulation": {
            "kind": "flame",
            "speed": 1,
            "amount": 0.35,
            "colorWobble": 0.3,
            "seed": 0.13
          },
          "transform": {
            "position": [
              0.35,
              0.45,
              2.15
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-light:lb-mantle-candle-1",
          "kind": "point",
          "displayName": "mantle candle 1 (flame tip at 1.57)",
          "parentFolderId": null,
          "enabled": true,
          "color": 16754768,
          "intensity": 0.08,
          "radius": 0.5,
          "spot": null,
          "area": null,
          "modulation": {
            "kind": "candle",
            "speed": 1,
            "amount": 0.5,
            "colorWobble": 0.2,
            "seed": 0.2
          },
          "transform": {
            "position": [
              -0.27,
              1.57,
              2.22
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-light:lb-mantle-candle-2",
          "kind": "point",
          "displayName": "mantle candle 2 (flame tip at 1.57)",
          "parentFolderId": null,
          "enabled": true,
          "color": 16754768,
          "intensity": 0.08,
          "radius": 0.5,
          "spot": null,
          "area": null,
          "modulation": {
            "kind": "candle",
            "speed": 1,
            "amount": 0.5,
            "colorWobble": 0.2,
            "seed": 0.4
          },
          "transform": {
            "position": [
              -0.01,
              1.57,
              2.22
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-light:lb-mantle-candle-3",
          "kind": "point",
          "displayName": "mantle candle 3 (flame tip at 1.57)",
          "parentFolderId": null,
          "enabled": true,
          "color": 16754768,
          "intensity": 0.08,
          "radius": 0.5,
          "spot": null,
          "area": null,
          "modulation": {
            "kind": "candle",
            "speed": 1,
            "amount": 0.5,
            "colorWobble": 0.2,
            "seed": 0.6000000000000001
          },
          "transform": {
            "position": [
              0.71,
              1.57,
              2.22
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-light:lb-mantle-candle-4",
          "kind": "point",
          "displayName": "mantle candle 4 (flame tip at 1.57)",
          "parentFolderId": null,
          "enabled": true,
          "color": 16754768,
          "intensity": 0.08,
          "radius": 0.5,
          "spot": null,
          "area": null,
          "modulation": {
            "kind": "candle",
            "speed": 1,
            "amount": 0.5,
            "colorWobble": 0.2,
            "seed": 0.8
          },
          "transform": {
            "position": [
              0.97,
              1.57,
              2.22
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-light:lb-table-lamp",
          "kind": "point",
          "displayName": "table lamp by the window (oil lamp, steady)",
          "parentFolderId": null,
          "enabled": true,
          "color": 16764040,
          "intensity": 3,
          "radius": 2.5,
          "spot": null,
          "area": null,
          "modulation": {
            "kind": "steady",
            "speed": 1,
            "amount": 0,
            "colorWobble": 0,
            "seed": 0
          },
          "transform": {
            "position": [
              2.25,
              1.09,
              1.38
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-light:lb-desk-candle",
          "kind": "point",
          "displayName": "writing desk candle",
          "parentFolderId": null,
          "enabled": true,
          "color": 16757850,
          "intensity": 1,
          "radius": 1.2,
          "spot": null,
          "area": null,
          "modulation": {
            "kind": "candle",
            "speed": 1,
            "amount": 0.5,
            "colorWobble": 0.2,
            "seed": 0.9
          },
          "transform": {
            "position": [
              -4.55,
              1.15,
              2.22
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-light:lb-window-daylight",
          "kind": "spot",
          "displayName": "spring sun through the sash window (gobo-shaped shaft)",
          "parentFolderId": null,
          "enabled": true,
          "color": 16773320,
          "intensity": 140,
          "radius": 8,
          "spot": {
            "angleDeg": 26,
            "penumbra": 0.05,
            "projectedTextureId": "minis:texture:gobo-sash-window"
          },
          "area": null,
          "modulation": {
            "kind": "steady",
            "speed": 1,
            "amount": 0,
            "colorWobble": 0,
            "seed": 0
          },
          "transform": {
            "position": [
              2.3,
              1.7,
              0.09
            ],
            "rotation": [
              0,
              0.3839724354387525,
              -0.7853981633974483
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        },
        {
          "instanceId": "placed-light:lb-window-skyfill",
          "kind": "point",
          "displayName": "sky fill inside the window (cool, low, wide)",
          "parentFolderId": null,
          "enabled": true,
          "color": 14542581,
          "intensity": 1.5,
          "radius": 5,
          "spot": null,
          "area": null,
          "modulation": {
            "kind": "steady",
            "speed": 1,
            "amount": 0,
            "colorWobble": 0,
            "seed": 0
          },
          "transform": {
            "position": [
              1.9,
              1.6,
              0.09
            ],
            "rotation": [
              0,
              0,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          }
        }
      ],
      "folders": [],
      "environmentBinding": {
        "defaultEnvironmentId": "minis:environment:longbourn-afternoon"
      },
      "areas": [
        {
          "areaId": "area:beat-news-doorway",
          "displayName": "Beat 1: the news (hall doorway)",
          "lorePageId": null,
          "parentAreaId": null,
          "kind": "zone",
          "bounds": {
            "kind": "box",
            "center": [
              -2.65,
              0.9,
              1.15
            ],
            "size": [
              1.2,
              1.8,
              1.3
            ]
          }
        },
        {
          "areaId": "area:beat-tea-table",
          "displayName": "Beat 2: the campaign (tea table)",
          "lorePageId": null,
          "parentAreaId": null,
          "kind": "zone",
          "bounds": {
            "kind": "box",
            "center": [
              -1.3,
              0.9,
              -1.6
            ],
            "size": [
              0.8,
              1.8,
              0.6
            ]
          }
        },
        {
          "areaId": "area:beat-bennet-armchair",
          "displayName": "Beat 3: the tease (Mr. Bennet's armchair)",
          "lorePageId": null,
          "parentAreaId": null,
          "kind": "zone",
          "bounds": {
            "kind": "box",
            "center": [
              1.2,
              0.9,
              0.33
            ],
            "size": [
              0.4,
              1.8,
              0.45
            ]
          }
        },
        {
          "areaId": "area:beat-fireplace",
          "displayName": "Beat 4: he has already gone (fireplace)",
          "lorePageId": null,
          "parentAreaId": null,
          "kind": "zone",
          "bounds": {
            "kind": "box",
            "center": [
              -0.1,
              0.9,
              1
            ],
            "size": [
              0.9,
              1.8,
              0.7
            ]
          }
        },
        {
          "areaId": "area:beat-window",
          "displayName": "Beat 5: the blue coat (window)",
          "lorePageId": null,
          "parentAreaId": null,
          "kind": "zone",
          "bounds": {
            "kind": "box",
            "center": [
              1.65,
              0.9,
              0.03
            ],
            "size": [
              0.4,
              1.8,
              0.95
            ]
          }
        }
      ],
      "behaviors": [],
      "npcPresences": [
        {
          "presenceId": "npc-presence:lizzy",
          "npcDefinitionId": "minis:npc:lizzy",
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -0.16132526577490636,
              0.38,
              -0.07342178790271081
            ],
            "rotation": [
              3.141592653589793,
              1.5768,
              3.141592653589793
            ],
            "scale": [
              1,
              1,
              1
            ]
          },
          "condition": null,
          "placementLabel": "Lizzy"
        },
        {
          "presenceId": "npc-presence:jane",
          "npcDefinitionId": "minis:npc:jane",
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -0.158081274861553,
              0.37,
              -0.7928732987934407
            ],
            "rotation": [
              3.141592653589793,
              1.5768,
              3.141592653589793
            ],
            "scale": [
              1,
              1,
              1
            ]
          },
          "condition": null,
          "placementLabel": "Jane"
        },
        {
          "presenceId": "npc-presence:lydia",
          "npcDefinitionId": "minis:npc:lydia",
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -2.233512275086711,
              0.33,
              -0.5852267182659319
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          },
          "condition": null,
          "placementLabel": "Lydia"
        },
        {
          "presenceId": "npc-presence:mr-bennet",
          "npcDefinitionId": "minis:npc:mr-bennet",
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              1.381,
              0.37,
              1.512
            ],
            "rotation": [
              0,
              3.491592653589793,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          },
          "condition": null,
          "placementLabel": "Mr. Bennet"
        },
        {
          "presenceId": "npc-presence:mrs-bennet",
          "npcDefinitionId": "minis:npc:mrs-bennet",
          "shaderOverrides": [],
          "shaderParameterOverrides": [],
          "transform": {
            "position": [
              -1.2,
              0,
              1.75
            ],
            "rotation": [
              0,
              1.5707963267948966,
              0
            ],
            "scale": [
              1,
              1,
              1
            ]
          },
          "condition": null,
          "placementLabel": "Mrs. Bennet"
        }
      ],
      "itemPresences": [],
      "playerPresence": {
        "presenceId": "746b700a-2c6a-4a50-b090-6008f35aeae6",
        "transform": {
          "position": [
            -2.65,
            0,
            0.8
          ],
          "rotation": [
            0,
            2.1662062022736293,
            0
          ],
          "scale": [
            1,
            1,
            1
          ]
        }
      },
      "landscape": {
        "enabled": false,
        "size": 100,
        "subdivisions": 160,
        "surfaceSlots": [
          {
            "channelId": "base",
            "displayName": "Base",
            "slotName": "Base",
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "dd53b356-f613-4d88-ab5b-22e7850bc3c2",
                    "displayName": "Base",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "color",
                      "color": 13223101
                    }
                  }
                ],
                "context": "universal"
              }
            },
            "tilingScale": null
          }
        ],
        "deform": null,
        "effect": null,
        "paintPayload": null
      },
      "audio": {
        "emitters": []
      },
      "markers": [],
      "navMesh": null,
      "lorePageId": null,
      "layoutSketch": null,
      "volumes": [
        {
          "volumeId": "area:beat-news-doorway",
          "displayName": "Beat 1: the news (hall doorway)",
          "parentVolumeId": null,
          "enabled": true,
          "bounds": {
            "kind": "box",
            "center": [
              -2.65,
              0.9,
              1.15
            ],
            "size": [
              1.2,
              1.8,
              1.3
            ]
          },
          "roles": [
            "label"
          ],
          "labelKind": "zone",
          "lorePageId": null,
          "blockDirection": null,
          "condition": null,
          "onEnterActions": [],
          "onExitActions": [],
          "navCost": null,
          "color": null
        },
        {
          "volumeId": "area:beat-tea-table",
          "displayName": "Beat 2: the campaign (tea table)",
          "parentVolumeId": null,
          "enabled": true,
          "bounds": {
            "kind": "box",
            "center": [
              -1.3,
              0.9,
              -1.6
            ],
            "size": [
              0.8,
              1.8,
              0.6
            ]
          },
          "roles": [
            "label"
          ],
          "labelKind": "zone",
          "lorePageId": null,
          "blockDirection": null,
          "condition": null,
          "onEnterActions": [],
          "onExitActions": [],
          "navCost": null,
          "color": null
        },
        {
          "volumeId": "area:beat-bennet-armchair",
          "displayName": "Beat 3: the tease (Mr. Bennet's armchair)",
          "parentVolumeId": null,
          "enabled": true,
          "bounds": {
            "kind": "box",
            "center": [
              1.2,
              0.9,
              0.33
            ],
            "size": [
              0.4,
              1.8,
              0.45
            ]
          },
          "roles": [
            "label"
          ],
          "labelKind": "zone",
          "lorePageId": null,
          "blockDirection": null,
          "condition": null,
          "onEnterActions": [],
          "onExitActions": [],
          "navCost": null,
          "color": null
        },
        {
          "volumeId": "area:beat-fireplace",
          "displayName": "Beat 4: he has already gone (fireplace)",
          "parentVolumeId": null,
          "enabled": true,
          "bounds": {
            "kind": "box",
            "center": [
              -0.1,
              0.9,
              1
            ],
            "size": [
              0.9,
              1.8,
              0.7
            ]
          },
          "roles": [
            "label"
          ],
          "labelKind": "zone",
          "lorePageId": null,
          "blockDirection": null,
          "condition": null,
          "onEnterActions": [],
          "onExitActions": [],
          "navCost": null,
          "color": null
        },
        {
          "volumeId": "area:beat-window",
          "displayName": "Beat 5: the blue coat (window)",
          "parentVolumeId": null,
          "enabled": true,
          "bounds": {
            "kind": "box",
            "center": [
              1.65,
              0.9,
              0.03
            ],
            "size": [
              0.4,
              1.8,
              0.95
            ]
          },
          "roles": [
            "label"
          ],
          "labelKind": "zone",
          "lorePageId": null,
          "blockDirection": null,
          "condition": null,
          "onEnterActions": [],
          "onExitActions": [],
          "navCost": null,
          "color": null
        }
      ],
      "actorMarker": {
        "actorMarkerId": "actor-marker:longbourn-sitting-room",
        "displayName": "Sitting Room Conversation",
        "standPosition": [
          0.9,
          0,
          1.15
        ],
        "cameraPosition": [
          0.9,
          1.5,
          -2.6
        ]
      }
    }
  ],
  "seasons": [
    {
      "seasonId": "season:pride-and-prejudice",
      "urlSegment": "pride-and-prejudice",
      "displayName": "Pride and Prejudice",
      "description": "Pride and Prejudice retold in Wordlark Hollow as fifteen minis, one diorama per set piece of the novel; the player is Lizzy's maid.",
      "notes": "Season brief: docs/pride-and-prejudice/SEASON.md. Canon from Project Gutenberg #1342, original text only; Regency, not Edwardian.",
      "episodes": [
        {
          "episodeId": "episode:pp-ep01",
          "urlSegment": "episode-1",
          "displayName": "Episode 1: A Gentleman Has Taken Netherfield",
          "description": "The Longbourn sitting room, autumn, on the days the news arrives that Netherfield is let.",
          "notes": "Episode brief: docs/pride-and-prejudice/episodes/01-a-gentleman-has-taken-netherfield.md. The pilot: several NPCs in one room, proximity beats, graded narration, the cast pipeline.",
          "unlockCondition": "always",
          "transitionConfig": null,
          "menu": {
            "title": {
              "kind": "image",
              "textureDefinitionId": "minis:texture:title-pride-and-prejudice",
              "alt": "Pride & Prejudice"
            },
            "backdrop": {
              "bookTextureDefinitionId": "minis:texture:menu-book",
              "glowTextureDefinitionId": "minis:texture:menu-glow"
            },
            "hero": {
              "targetX": -0.4,
              "targetY": 0.6,
              "targetZ": -0.5,
              "yaw": 3.9269908169872414,
              "pitch": 56,
              "distance": 25
            }
          },
          "farewell": "La visita terminó — you are sent for fresh tea. Thank you for visiting Longbourn!",
          "scenes": [
            {
              "sceneId": "scene:pp-ep01:sitting-room",
              "displayName": "Longbourn, sitting room",
              "description": "The five scripted beats of the sitting room (quest:pp-ep01:beats) and free talk with the Bennets.",
              "notes": "The window beat waits for the other four.",
              "regionId": "pp-ep01-longbourn",
              "overlay": {
                "itemPresences": [],
                "npcPresences": [],
                "playerPresence": null,
                "placedAssets": [],
                "placedLights": [],
                "folders": [],
                "suppressedRegionIds": [],
                "assetAppearanceOverrides": {}
              },
              "questDefinitions": [
                {
                  "definitionId": "quest:pp-ep01:beats",
                  "displayName": "Episode 1: A Gentleman Has Taken Netherfield",
                  "description": "The five scripted beats of the Longbourn sitting room, each an arrival on its area followed by the family's lines; the window waits for the other four.",
                  "startStageId": "stage:pp-ep01:sitting-room",
                  "stageDefinitions": [
                    {
                      "stageId": "stage:pp-ep01:sitting-room",
                      "displayName": "The sitting room",
                      "nextStageId": null,
                      "timeOfDay": null,
                      "nodeDefinitions": [
                        {
                          "nodeId": "node:pp-ep01:arrive-news",
                          "displayName": "Arrive: The news",
                          "description": "The player walks into area:beat-news-doorway.",
                          "nodeBehavior": "objective",
                          "objectiveSubtype": "location",
                          "targetAreaId": "area:beat-news-doorway",
                          "count": 1,
                          "optional": false,
                          "autoStart": false,
                          "prerequisiteNodeIds": [],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 80,
                            "y": 80
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:play-news",
                          "displayName": "Play: The news",
                          "description": "Starts dialogue dlg:pp-ep01:news.",
                          "nodeBehavior": "narrative",
                          "narrativeSubtype": "dialogue",
                          "count": 1,
                          "optional": false,
                          "dialogueDefinitionId": "dlg:pp-ep01:news",
                          "autoStart": false,
                          "prerequisiteNodeIds": [
                            "node:pp-ep01:arrive-news"
                          ],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 380,
                            "y": 80
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:arrive-campaign",
                          "displayName": "Arrive: The campaign",
                          "description": "The player walks into area:beat-tea-table.",
                          "nodeBehavior": "objective",
                          "objectiveSubtype": "location",
                          "targetAreaId": "area:beat-tea-table",
                          "count": 1,
                          "optional": false,
                          "autoStart": false,
                          "prerequisiteNodeIds": [],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 80,
                            "y": 240
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:play-campaign",
                          "displayName": "Play: The campaign",
                          "description": "Starts dialogue dlg:pp-ep01:campaign.",
                          "nodeBehavior": "narrative",
                          "narrativeSubtype": "dialogue",
                          "count": 1,
                          "optional": false,
                          "dialogueDefinitionId": "dlg:pp-ep01:campaign",
                          "autoStart": false,
                          "prerequisiteNodeIds": [
                            "node:pp-ep01:arrive-campaign"
                          ],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 380,
                            "y": 240
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:arrive-tease",
                          "displayName": "Arrive: The tease",
                          "description": "The player walks into area:beat-bennet-armchair.",
                          "nodeBehavior": "objective",
                          "objectiveSubtype": "location",
                          "targetAreaId": "area:beat-bennet-armchair",
                          "count": 1,
                          "optional": false,
                          "autoStart": false,
                          "prerequisiteNodeIds": [],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 80,
                            "y": 400
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:play-tease",
                          "displayName": "Play: The tease",
                          "description": "Starts dialogue dlg:pp-ep01:tease.",
                          "nodeBehavior": "narrative",
                          "narrativeSubtype": "dialogue",
                          "count": 1,
                          "optional": false,
                          "dialogueDefinitionId": "dlg:pp-ep01:tease",
                          "autoStart": false,
                          "prerequisiteNodeIds": [
                            "node:pp-ep01:arrive-tease"
                          ],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 380,
                            "y": 400
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:arrive-already-gone",
                          "displayName": "Arrive: He has already gone",
                          "description": "The player walks into area:beat-fireplace.",
                          "nodeBehavior": "objective",
                          "objectiveSubtype": "location",
                          "targetAreaId": "area:beat-fireplace",
                          "count": 1,
                          "optional": false,
                          "autoStart": false,
                          "prerequisiteNodeIds": [],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 80,
                            "y": 560
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:play-already-gone",
                          "displayName": "Play: He has already gone",
                          "description": "Starts dialogue dlg:pp-ep01:already-gone.",
                          "nodeBehavior": "narrative",
                          "narrativeSubtype": "dialogue",
                          "count": 1,
                          "optional": false,
                          "dialogueDefinitionId": "dlg:pp-ep01:already-gone",
                          "autoStart": false,
                          "prerequisiteNodeIds": [
                            "node:pp-ep01:arrive-already-gone"
                          ],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 380,
                            "y": 560
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:arrive-blue-coat",
                          "displayName": "Arrive: The blue coat",
                          "description": "The player walks into area:beat-window.",
                          "nodeBehavior": "objective",
                          "objectiveSubtype": "location",
                          "targetAreaId": "area:beat-window",
                          "count": 1,
                          "optional": false,
                          "autoStart": false,
                          "prerequisiteNodeIds": [
                            "node:pp-ep01:play-news",
                            "node:pp-ep01:play-campaign",
                            "node:pp-ep01:play-tease",
                            "node:pp-ep01:play-already-gone"
                          ],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 80,
                            "y": 720
                          }
                        },
                        {
                          "nodeId": "node:pp-ep01:play-blue-coat",
                          "displayName": "Play: The blue coat",
                          "description": "Starts dialogue dlg:pp-ep01:blue-coat.",
                          "nodeBehavior": "narrative",
                          "narrativeSubtype": "dialogue",
                          "count": 1,
                          "optional": false,
                          "dialogueDefinitionId": "dlg:pp-ep01:blue-coat",
                          "autoStart": false,
                          "prerequisiteNodeIds": [
                            "node:pp-ep01:arrive-blue-coat"
                          ],
                          "failTargetNodeIds": [],
                          "onEnterActions": [],
                          "onCompleteActions": [],
                          "showInHud": false,
                          "graphPosition": {
                            "x": 380,
                            "y": 720
                          }
                        }
                      ],
                      "groups": [],
                      "entryNodeIds": [
                        "node:pp-ep01:arrive-news",
                        "node:pp-ep01:arrive-campaign",
                        "node:pp-ep01:arrive-tease",
                        "node:pp-ep01:arrive-already-gone"
                      ]
                    }
                  ],
                  "rewardDefinitions": []
                }
              ],
              "environmentOverride": null,
              "audioOverride": null,
              "navMesh": null,
              "callouts": [],
              "transitionConfig": null
            }
          ]
        }
      ],
      "playerPresentation": null
    }
  ],
  "episodeEndRouting": "episodes-screen",
  "activeRegionId": "pp-ep01-longbourn",
  "activeEnvironmentId": null,
  "contentLibrary": {
    "identity": {
      "id": "minis:content-library",
      "schema": "ContentLibrary",
      "version": 6
    },
    "assetDefinitions": [
      {
        "definitionId": "minis:asset:wall-windowed-sage",
        "definitionKind": "asset",
        "displayName": "wall-windowed-sage",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/wall-windowed-sage.glb",
          "fileName": "wall-windowed-sage.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -2.4,
              0,
              -0.07
            ],
            "max": [
              2.4,
              2.1,
              0.18
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:wall-doorway",
        "definitionKind": "asset",
        "displayName": "wall-doorway",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/wall-doorway.glb",
          "fileName": "wall-doorway.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -3.3000000000000003,
              0,
              -0.06
            ],
            "max": [
              3.3,
              2.1,
              0.18
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:curtain-pair",
        "definitionKind": "asset",
        "displayName": "curtain-pair",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/curtain-pair.glb",
          "fileName": "curtain-pair.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "none",
          "localBounds": null
        }
      },
      {
        "definitionId": "minis:asset:fireplace",
        "definitionKind": "asset",
        "displayName": "fireplace",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/fireplace.glb",
          "fileName": "fireplace.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.73,
              0,
              -0.56
            ],
            "max": [
              0.73,
              1.5899999999999999,
              0
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:sofa",
        "definitionKind": "asset",
        "displayName": "sofa",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/sofa.glb",
          "fileName": "sofa.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.78,
              0,
              -0.39
            ],
            "max": [
              0.81,
              0.98,
              0.42
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:settee",
        "definitionKind": "asset",
        "displayName": "Settee (walnut, green cushion)",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/settee.glb",
          "fileName": "settee.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.65,
              0,
              -0.25
            ],
            "max": [
              0.65,
              1.015,
              0.25
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:armchair-large",
        "definitionKind": "asset",
        "displayName": "armchair-large",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/armchair-large.glb",
          "fileName": "armchair-large.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.45,
              0,
              -0.42000000000000004
            ],
            "max": [
              0.45,
              1.18,
              0.45
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:armchair-small",
        "definitionKind": "asset",
        "displayName": "armchair-small",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/armchair-small.glb",
          "fileName": "armchair-small.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.35,
              0,
              -0.34
            ],
            "max": [
              0.35,
              0.975,
              0.36
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:tea-service",
        "definitionKind": "asset",
        "displayName": "tea-service",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/tea-service.glb",
          "fileName": "tea-service.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.39,
              0,
              -0.18
            ],
            "max": [
              0.35,
              0.21,
              0.23
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:rug-rect",
        "definitionKind": "asset",
        "displayName": "rug-rect",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/rug-rect.glb",
          "fileName": "rug-rect.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "none",
          "localBounds": null
        }
      },
      {
        "definitionId": "minis:asset:writing-desk",
        "definitionKind": "asset",
        "displayName": "writing-desk",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/writing-desk.glb",
          "fileName": "writing-desk.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.5,
              0,
              -0.275
            ],
            "max": [
              0.5,
              1.06,
              0.275
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:bookcase",
        "definitionKind": "asset",
        "displayName": "bookcase",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/bookcase.glb",
          "fileName": "bookcase.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.4,
              0,
              -0.32
            ],
            "max": [
              0.4,
              1.9,
              0
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:sideboard",
        "definitionKind": "asset",
        "displayName": "sideboard",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/sideboard.glb",
          "fileName": "sideboard.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.46,
              0,
              -0.43
            ],
            "max": [
              0.46,
              1.2000000000000002,
              0.010000000000000009
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:side-table",
        "definitionKind": "asset",
        "displayName": "side-table",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/side-table.glb",
          "fileName": "side-table.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.225,
              0,
              -0.225
            ],
            "max": [
              0.225,
              0.7000000000000001,
              0.225
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:side-table-round",
        "definitionKind": "asset",
        "displayName": "side-table-round",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/side-table-round.glb",
          "fileName": "side-table-round.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.28,
              0,
              -0.26629582456264306
            ],
            "max": [
              0.28,
              0.6,
              0.26629582456264306
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:lamp",
        "definitionKind": "asset",
        "displayName": "lamp",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/lamp.glb",
          "fileName": "lamp.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.14,
              0,
              -0.13314791228132153
            ],
            "max": [
              0.14,
              0.5,
              0.13314791228132153
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:picture-frame",
        "definitionKind": "asset",
        "displayName": "picture-frame",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/picture-frame.glb",
          "fileName": "picture-frame.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "none",
          "localBounds": null
        }
      },
      {
        "definitionId": "minis:asset:picture-landscape",
        "definitionKind": "asset",
        "displayName": "picture-landscape",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/picture-landscape.glb",
          "fileName": "picture-landscape.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "none",
          "localBounds": null
        }
      },
      {
        "definitionId": "minis:asset:town-book-group-04",
        "definitionKind": "asset",
        "displayName": "town-book-group-04",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/polygon/town-book-group-04.glb",
          "fileName": "town-book-group-04.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.1613513082265854,
              -1.1199253968641187E-8,
              -0.15479493141174316
            ],
            "max": [
              0.1613513082265854,
              0.12999391555786133,
              0.15479491651058197
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:town-book-group-06",
        "definitionKind": "asset",
        "displayName": "town-book-group-06",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/polygon/town-book-group-06.glb",
          "fileName": "town-book-group-06.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.1507617086172104,
              -8.576733989684726E-9,
              -0.13239869475364685
            ],
            "max": [
              0.15076293051242828,
              0.11297989636659622,
              0.13239867985248566
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:town-plant-02",
        "definitionKind": "asset",
        "displayName": "town-plant-02",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/polygon/town-plant-02.glb",
          "fileName": "town-plant-02.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.31152600049972534,
              -1.4547916649121362E-8,
              -0.38233479857444763
            ],
            "max": [
              0.40468576550483704,
              1.4319143295288086,
              0.32954174280166626
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:town-chair-01",
        "definitionKind": "asset",
        "displayName": "town-chair-01",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/polygon/town-chair-01.glb",
          "fileName": "town-chair-01.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.27832794189453125,
              1.4485651789186704E-8,
              -0.26940062642097473
            ],
            "max": [
              0.2783276438713074,
              1.0419597625732422,
              0.27546074986457825
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:floor-planks",
        "definitionKind": "asset",
        "displayName": "floor-planks",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/floor-planks.glb",
          "fileName": "floor-planks.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "none",
          "localBounds": null
        }
      },
      {
        "definitionId": "minis:asset:storybook",
        "definitionKind": "asset",
        "displayName": "storybook",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/storybook.glb",
          "fileName": "storybook.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "none",
          "localBounds": null
        }
      },
      {
        "definitionId": "minis:asset:vase-flowers",
        "definitionKind": "asset",
        "displayName": "vase-flowers",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/vase-flowers.glb",
          "fileName": "vase-flowers.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.09,
              0,
              -0.08598076211353316
            ],
            "max": [
              0.09,
              0.306,
              0.08598076211353316
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:coal-scuttle",
        "definitionKind": "asset",
        "displayName": "coal-scuttle",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/coal-scuttle.glb",
          "fileName": "coal-scuttle.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.12,
              0,
              -0.11
            ],
            "max": [
              0.12,
              0.32,
              0.11
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:basket-yarn",
        "definitionKind": "asset",
        "displayName": "basket-yarn",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/basket-yarn.glb",
          "fileName": "basket-yarn.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.17,
              0,
              -0.165
            ],
            "max": [
              0.17,
              0.36,
              0.165
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:prop-newspaper-open",
        "definitionKind": "asset",
        "displayName": "prop-newspaper-open",
        "assetKind": "model",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "source": {
          "relativeAssetPath": "assets/blockout/prop-newspaper-open.glb",
          "fileName": "prop-newspaper-open.glb",
          "mimeType": null
        },
        "collider": {
          "shape": "none",
          "localBounds": null
        }
      },
      {
        "definitionId": "minis:asset:regency-tea-table",
        "definitionKind": "asset",
        "assetKind": "model",
        "source": {
          "relativeAssetPath": "assets/assethub/regency-tea-table.glb",
          "fileName": "regency-tea-table.glb",
          "mimeType": null
        },
        "displayName": "regency-tea-table",
        "surfaceSlots": [],
        "deform": null,
        "effect": null,
        "collider": {
          "shape": "auto-box",
          "localBounds": {
            "min": [
              -0.5,
              0,
              -0.2750000059604645
            ],
            "max": [
              0.5,
              0.46000000834465027,
              0.2750000059604645
            ]
          }
        }
      },
      {
        "definitionId": "minis:asset:fire-01",
        "definitionKind": "asset",
        "assetKind": "model",
        "source": {
          "relativeAssetPath": "assets/assethub/fire-01.glb",
          "fileName": "fire-01.glb",
          "mimeType": null
        },
        "displayName": "fire-01",
        "surfaceSlots": [
          {
            "slotName": "blockout-up",
            "slotIndex": 0,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-up:glow",
                    "displayName": "embers glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.9372549019607843,
                          0.5450980392156862,
                          0.2980392156862745
                        ],
                        "glowColor": [
                          1,
                          0.35294117647058826,
                          0.06274509803921569
                        ],
                        "glowIntensity": 0.5
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-down",
            "slotIndex": 1,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-down:glow",
                    "displayName": "embers glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.615686274509804,
                          0.34901960784313724,
                          0.1843137254901961
                        ],
                        "glowColor": [
                          1,
                          0.35294117647058826,
                          0.06274509803921569
                        ],
                        "glowIntensity": 0.5
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-sideX",
            "slotIndex": 2,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-sideX:glow",
                    "displayName": "embers glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.7529411764705882,
                          0.43529411764705883,
                          0.23137254901960785
                        ],
                        "glowColor": [
                          1,
                          0.35294117647058826,
                          0.06274509803921569
                        ],
                        "glowIntensity": 0.5
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-sideZ",
            "slotIndex": 3,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-sideZ:glow",
                    "displayName": "embers glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.8509803921568627,
                          0.49411764705882355,
                          0.26666666666666666
                        ],
                        "glowColor": [
                          1,
                          0.35294117647058826,
                          0.06274509803921569
                        ],
                        "glowIntensity": 0.5
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-facet",
            "slotIndex": 4,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-facet:glow",
                    "displayName": "outer glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.8627450980392157,
                          0.6470588235294118,
                          0.33725490196078434
                        ],
                        "glowColor": [
                          1,
                          0.35294117647058826,
                          0.06274509803921569
                        ],
                        "glowIntensity": 0.8
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-down.001",
            "slotIndex": 5,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-down.001:glow",
                    "displayName": "outer glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.6549019607843137,
                          0.48627450980392156,
                          0.24705882352941178
                        ],
                        "glowColor": [
                          1,
                          0.35294117647058826,
                          0.06274509803921569
                        ],
                        "glowIntensity": 0.8
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-facet.001",
            "slotIndex": 6,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-facet.001:glow",
                    "displayName": "mid glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.8627450980392157,
                          0.788235294117647,
                          0.49411764705882355
                        ],
                        "glowColor": [
                          1,
                          0.6274509803921569,
                          0.18823529411764706
                        ],
                        "glowIntensity": 1.4
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-down.002",
            "slotIndex": 7,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-down.002:glow",
                    "displayName": "mid glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.6549019607843137,
                          0.596078431372549,
                          0.3686274509803922
                        ],
                        "glowColor": [
                          1,
                          0.6274509803921569,
                          0.18823529411764706
                        ],
                        "glowIntensity": 1.4
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-facet.002",
            "slotIndex": 8,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-facet.002:glow",
                    "displayName": "core glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.8627450980392157,
                          0.8588235294117647,
                          0.7137254901960784
                        ],
                        "glowColor": [
                          1,
                          0.9568627450980393,
                          0.8392156862745098
                        ],
                        "glowIntensity": 3
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          },
          {
            "slotName": "blockout-down.003",
            "slotIndex": 9,
            "surface": {
              "kind": "inline",
              "surface": {
                "layers": [
                  {
                    "layerId": "fire-01:blockout-down.003:glow",
                    "displayName": "core glow",
                    "enabled": true,
                    "opacity": 1,
                    "mask": {
                      "kind": "always"
                    },
                    "kind": "appearance",
                    "blendMode": "base",
                    "content": {
                      "kind": "shader",
                      "shaderDefinitionId": "minis:shader:fire-glow",
                      "parameterValues": {
                        "baseColor": [
                          0.6549019607843137,
                          0.6509803921568628,
                          0.5372549019607843
                        ],
                        "glowColor": [
                          1,
                          0.9568627450980393,
                          0.8392156862745098
                        ],
                        "glowIntensity": 3
                      },
                      "textureBindings": {}
                    }
                  }
                ],
                "context": "universal"
              }
            }
          }
        ],
        "deform": {
          "kind": "shader",
          "shaderDefinitionId": "minis:shader:fire-flicker",
          "parameterValues": {},
          "textureBindings": {}
        },
        "effect": null,
        "collider": {
          "shape": "none",
          "localBounds": null
        }
      }
    ],
    "audioClipDefinitions": [],
    "characterModelDefinitions": [
      {
        "definitionId": "minis:character-model:cast-jane",
        "definitionKind": "character-model",
        "displayName": "cast-jane (rigged)",
        "source": {
          "relativeAssetPath": "assets/character-models/cast-jane-rigged.glb",
          "fileName": "cast-jane-rigged.glb",
          "mimeType": "model/gltf-binary"
        },
        "rigId": "sugarmagic-humanoid-v1"
      },
      {
        "definitionId": "minis:character-model:cast-lizzy",
        "definitionKind": "character-model",
        "displayName": "cast-lizzy (rigged)",
        "source": {
          "relativeAssetPath": "assets/character-models/cast-lizzy-rigged.glb",
          "fileName": "cast-lizzy-rigged.glb",
          "mimeType": "model/gltf-binary"
        },
        "rigId": "sugarmagic-humanoid-v1"
      },
      {
        "definitionId": "minis:character-model:cast-lydia",
        "definitionKind": "character-model",
        "displayName": "cast-lydia (rigged)",
        "source": {
          "relativeAssetPath": "assets/character-models/cast-lydia-rigged.glb",
          "fileName": "cast-lydia-rigged.glb",
          "mimeType": "model/gltf-binary"
        },
        "rigId": "sugarmagic-humanoid-v1"
      },
      {
        "definitionId": "minis:character-model:cast-mr-bennet",
        "definitionKind": "character-model",
        "displayName": "cast-mr-bennet (rigged)",
        "source": {
          "relativeAssetPath": "assets/character-models/cast-mr-bennet-rigged.glb",
          "fileName": "cast-mr-bennet-rigged.glb",
          "mimeType": "model/gltf-binary"
        },
        "rigId": "sugarmagic-humanoid-v1"
      },
      {
        "definitionId": "minis:character-model:cast-mrs-bennet",
        "definitionKind": "character-model",
        "displayName": "cast-mrs-bennet (rigged)",
        "source": {
          "relativeAssetPath": "assets/character-models/cast-mrs-bennet-rigged.glb",
          "fileName": "cast-mrs-bennet-rigged.glb",
          "mimeType": "model/gltf-binary"
        },
        "rigId": "sugarmagic-humanoid-v1"
      },
      {
        "definitionId": "minis:character-model:cast-maid",
        "definitionKind": "character-model",
        "displayName": "cast-maid (rigged)",
        "source": {
          "relativeAssetPath": "assets/character-models/cast-maid-rigged.glb",
          "fileName": "cast-maid-rigged.glb",
          "mimeType": "model/gltf-binary"
        },
        "rigId": "sugarmagic-humanoid-v1"
      }
    ],
    "characterAnimationDefinitions": [
      {
        "definitionId": "minis:character-animation:cast-jane-idle",
        "definitionKind": "character-animation",
        "displayName": "cast-jane idle (Generated_Idle)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-jane-idle.glb",
          "fileName": "cast-jane-idle.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Idle"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-jane-walk",
        "definitionKind": "character-animation",
        "displayName": "cast-jane walk (Generated_Walk)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-jane-walk.glb",
          "fileName": "cast-jane-walk.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Walk"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-jane-run",
        "definitionKind": "character-animation",
        "displayName": "cast-jane run (Generated_Run)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-jane-run.glb",
          "fileName": "cast-jane-run.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Run"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-jane-sit",
        "definitionKind": "character-animation",
        "displayName": "cast-jane sit (Generated_Sit)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-jane-sit.glb",
          "fileName": "cast-jane-sit.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Sit"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-lizzy-idle",
        "definitionKind": "character-animation",
        "displayName": "cast-lizzy idle (Generated_Idle)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-lizzy-idle.glb",
          "fileName": "cast-lizzy-idle.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Idle"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-lizzy-walk",
        "definitionKind": "character-animation",
        "displayName": "cast-lizzy walk (Generated_Walk)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-lizzy-walk.glb",
          "fileName": "cast-lizzy-walk.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Walk"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-lizzy-run",
        "definitionKind": "character-animation",
        "displayName": "cast-lizzy run (Generated_Run)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-lizzy-run.glb",
          "fileName": "cast-lizzy-run.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Run"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-lizzy-sit",
        "definitionKind": "character-animation",
        "displayName": "cast-lizzy sit (Generated_Sit)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-lizzy-sit.glb",
          "fileName": "cast-lizzy-sit.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Sit"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-lydia-idle",
        "definitionKind": "character-animation",
        "displayName": "cast-lydia idle (Generated_Idle)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-lydia-idle.glb",
          "fileName": "cast-lydia-idle.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Idle"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-lydia-walk",
        "definitionKind": "character-animation",
        "displayName": "cast-lydia walk (Generated_Walk)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-lydia-walk.glb",
          "fileName": "cast-lydia-walk.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Walk"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-lydia-run",
        "definitionKind": "character-animation",
        "displayName": "cast-lydia run (Generated_Run)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-lydia-run.glb",
          "fileName": "cast-lydia-run.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Run"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-lydia-sit",
        "definitionKind": "character-animation",
        "displayName": "cast-lydia sit (Generated_Sit)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-lydia-sit.glb",
          "fileName": "cast-lydia-sit.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Sit"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-mr-bennet-idle",
        "definitionKind": "character-animation",
        "displayName": "cast-mr-bennet idle (Generated_Idle)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-mr-bennet-idle.glb",
          "fileName": "cast-mr-bennet-idle.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Idle"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-mr-bennet-walk",
        "definitionKind": "character-animation",
        "displayName": "cast-mr-bennet walk (Generated_Walk)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-mr-bennet-walk.glb",
          "fileName": "cast-mr-bennet-walk.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Walk"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-mr-bennet-run",
        "definitionKind": "character-animation",
        "displayName": "cast-mr-bennet run (Generated_Run)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-mr-bennet-run.glb",
          "fileName": "cast-mr-bennet-run.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Run"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-mr-bennet-sit",
        "definitionKind": "character-animation",
        "displayName": "cast-mr-bennet sit (Generated_Sit)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-mr-bennet-sit.glb",
          "fileName": "cast-mr-bennet-sit.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Sit"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-mrs-bennet-idle",
        "definitionKind": "character-animation",
        "displayName": "cast-mrs-bennet idle (Generated_Idle)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-mrs-bennet-idle.glb",
          "fileName": "cast-mrs-bennet-idle.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Idle"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-mrs-bennet-walk",
        "definitionKind": "character-animation",
        "displayName": "cast-mrs-bennet walk (Generated_Walk)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-mrs-bennet-walk.glb",
          "fileName": "cast-mrs-bennet-walk.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Walk"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-mrs-bennet-run",
        "definitionKind": "character-animation",
        "displayName": "cast-mrs-bennet run (Generated_Run)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-mrs-bennet-run.glb",
          "fileName": "cast-mrs-bennet-run.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Run"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-maid-idle",
        "definitionKind": "character-animation",
        "displayName": "cast-maid idle (Generated_Idle)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-maid-idle.glb",
          "fileName": "cast-maid-idle.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Idle"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-maid-walk",
        "definitionKind": "character-animation",
        "displayName": "cast-maid walk (Generated_Walk)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-maid-walk.glb",
          "fileName": "cast-maid-walk.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Walk"
        ]
      },
      {
        "definitionId": "minis:character-animation:cast-maid-run",
        "definitionKind": "character-animation",
        "displayName": "cast-maid run (Generated_Run)",
        "source": {
          "relativeAssetPath": "assets/animations/cast-maid-run.glb",
          "fileName": "cast-maid-run.glb",
          "mimeType": "model/gltf-binary"
        },
        "clipNames": [
          "Generated_Run"
        ]
      }
    ],
    "animationLibraryDefinitions": [],
    "materialDefinitions": [],
    "soundCueDefinitions": [],
    "textureDefinitions": [
      {
        "definitionId": "minis:texture:gobo-sash-window",
        "definitionKind": "texture",
        "displayName": "gobo: Longbourn sash window (generated from LONGBOURN_WINDOW)",
        "source": {
          "relativeAssetPath": "assets/blockout/gobo-sash-window.png",
          "fileName": "gobo-sash-window.png",
          "mimeType": "image/png"
        },
        "colorSpace": "linear",
        "packing": "rgba"
      },
      {
        "definitionId": "minis:texture:title-pride-and-prejudice",
        "definitionKind": "texture",
        "displayName": "Pride and Prejudice title",
        "source": {
          "relativeAssetPath": "assets/menu/title-pride-and-prejudice.webp",
          "fileName": "title-pride-and-prejudice.webp",
          "mimeType": "image/webp"
        },
        "colorSpace": "srgb",
        "packing": "rgba"
      },
      {
        "definitionId": "minis:texture:menu-book",
        "definitionKind": "texture",
        "displayName": "Menu book",
        "source": {
          "relativeAssetPath": "assets/menu/book.webp",
          "fileName": "book.webp",
          "mimeType": "image/webp"
        },
        "colorSpace": "srgb",
        "packing": "rgba"
      },
      {
        "definitionId": "minis:texture:menu-glow",
        "definitionKind": "texture",
        "displayName": "Menu glow",
        "source": {
          "relativeAssetPath": "assets/menu/glow.webp",
          "fileName": "glow.webp",
          "mimeType": "image/webp"
        },
        "colorSpace": "srgb",
        "packing": "rgba"
      }
    ],
    "maskTextureDefinitions": [],
    "surfaceDefinitions": [],
    "grassTypeDefinitions": [],
    "flowerTypeDefinitions": [],
    "rockTypeDefinitions": [],
    "environmentDefinitions": [
      {
        "definitionId": "minis:environment:longbourn-afternoon",
        "definitionKind": "environment",
        "displayName": "Longbourn Afternoon",
        "postProcessShaders": [
          {
            "shaderDefinitionId": "minis:shader:fog-tint",
            "order": 0,
            "enabled": false,
            "parameterOverrides": [
              {
                "parameterId": "color",
                "value": [
                  0.16470588235294117,
                  0.16470588235294117,
                  0.16470588235294117
                ]
              },
              {
                "parameterId": "density",
                "value": 0.008
              },
              {
                "parameterId": "heightFalloff",
                "value": 1
              }
            ]
          },
          {
            "shaderDefinitionId": "minis:shader:cloud-shadows",
            "order": 1,
            "enabled": false,
            "parameterOverrides": [
              {
                "parameterId": "scale",
                "value": 0.04
              },
              {
                "parameterId": "speedX",
                "value": 1
              },
              {
                "parameterId": "speedZ",
                "value": 0.3
              },
              {
                "parameterId": "coverage",
                "value": 0.4
              },
              {
                "parameterId": "softness",
                "value": 0.15
              },
              {
                "parameterId": "darkness",
                "value": 0.35
              },
              {
                "parameterId": "shadowColor",
                "value": [
                  0,
                  0,
                  0
                ]
              }
            ]
          },
          {
            "shaderDefinitionId": "minis:shader:vignette",
            "order": 2,
            "enabled": true,
            "parameterOverrides": [
              {
                "parameterId": "color",
                "value": [
                  0.09,
                  0.03,
                  0.07
                ]
              },
              {
                "parameterId": "intensity",
                "value": 0.5
              },
              {
                "parameterId": "softness",
                "value": 0.3
              },
              {
                "parameterId": "radius",
                "value": 0.7
              }
            ]
          }
        ],
        "lighting": {
          "preset": "default",
          "sun": {
            "azimuthDeg": 128,
            "elevationDeg": 42,
            "color": 16771792,
            "intensity": 1.6,
            "shadows": {
              "enabled": true,
              "quality": "high",
              "distance": 40,
              "strength": 0.95,
              "softness": 0.45,
              "bias": -0.0001,
              "normalBias": 0.02
            }
          },
          "rim": {
            "azimuthDeg": -55,
            "elevationDeg": 25,
            "color": 16773340,
            "intensity": 0.55
          },
          "ambient": {
            "mode": "flat",
            "color": 16771800,
            "intensity": 0.5
          }
        },
        "atmosphere": {
          "fog": {
            "enabled": false,
            "density": 0.008,
            "color": 2763306,
            "heightFalloff": 1
          },
          "cloudShadows": {
            "enabled": false,
            "scale": 0.04,
            "speedX": 1,
            "speedZ": 0.3,
            "coverage": 0.4,
            "softness": 0.15,
            "darkness": 0.35,
            "shadowColor": [
              0,
              0,
              0
            ]
          },
          "ssao": {
            "enabled": true,
            "kernelRadius": 8,
            "minDistance": 0.005,
            "maxDistance": 0.1
          },
          "sky": {
            "enabled": true,
            "mode": "gradient",
            "gradientAnchor": "screen",
            "topColor": 4858680,
            "bottomColor": 3479594,
            "gradientMidEnabled": true,
            "gradientMidColor": 5514812,
            "gradientMidPosition": 0.45,
            "horizonBlend": 0.5,
            "gradientExponent": 1,
            "saturation": 1,
            "nebulaDensity": 0.7,
            "nebulaSpeed": 1,
            "riftEnabled": true,
            "riftIntensity": 1,
            "riftPulseSpeed": 1,
            "riftSwirlStrength": 1.5,
            "cloudsEnabled": false,
            "cloudCoverage": 0.48,
            "cloudSoftness": 0.22,
            "cloudOpacity": 0.55,
            "cloudScale": 2.2,
            "cloudSpeed": 0.25,
            "cloudDirectionDegrees": 18,
            "cloudColor": 16773856,
            "undercastEnabled": false,
            "undercastColor": 16771276,
            "undercastShadowColor": 13209512,
            "undercastCoverage": 0.62,
            "undercastScale": 1.6,
            "undercastOpacity": 0.95,
            "glowEnabled": true,
            "glowColor": 15759912,
            "glowCenterX": 0.5,
            "glowCenterY": 0.62,
            "glowRadius": 0.22,
            "glowSoftness": 0.25,
            "glowOpacity": 0.36
          }
        },
        "backdrop": {
          "cityscapeEnabled": false,
          "bufferZoneEnabled": false
        }
      }
    ],
    "shaderDefinitions": [
      {
        "shaderDefinitionId": "minis:shader:fire-flicker",
        "definitionKind": "shader",
        "displayName": "Fire Flicker",
        "targetKind": "mesh-deform",
        "revision": 3,
        "nodes": [
          {
            "nodeId": "time",
            "nodeType": "input.time",
            "position": {
              "x": 48,
              "y": 72
            },
            "settings": {}
          },
          {
            "nodeId": "position",
            "nodeType": "input.local-position",
            "position": {
              "x": 48,
              "y": 144
            },
            "settings": {}
          },
          {
            "nodeId": "height",
            "nodeType": "input.tree-height",
            "position": {
              "x": 48,
              "y": 216
            },
            "settings": {}
          },
          {
            "nodeId": "rate",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 288
            },
            "settings": {
              "parameterId": "flickerRate"
            }
          },
          {
            "nodeId": "depth",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 360
            },
            "settings": {
              "parameterId": "flickerDepth"
            }
          },
          {
            "nodeId": "lick-depth",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 432
            },
            "settings": {
              "parameterId": "lickDepth"
            }
          },
          {
            "nodeId": "phase-scale",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 504
            },
            "settings": {
              "parameterId": "phaseScale"
            }
          },
          {
            "nodeId": "k-two-pi",
            "nodeType": "input.constant-float",
            "position": {
              "x": 48,
              "y": 576
            },
            "settings": {
              "value": 6.283185307179586
            }
          },
          {
            "nodeId": "k-ratio",
            "nodeType": "input.constant-float",
            "position": {
              "x": 48,
              "y": 648
            },
            "settings": {
              "value": 1.57
            }
          },
          {
            "nodeId": "k-phase",
            "nodeType": "input.constant-float",
            "position": {
              "x": 48,
              "y": 720
            },
            "settings": {
              "value": 6.3
            }
          },
          {
            "nodeId": "k-half",
            "nodeType": "input.constant-float",
            "position": {
              "x": 48,
              "y": 792
            },
            "settings": {
              "value": 0.5
            }
          },
          {
            "nodeId": "w1",
            "nodeType": "math.multiply",
            "position": {
              "x": 300,
              "y": 864
            },
            "settings": {}
          },
          {
            "nodeId": "w2",
            "nodeType": "math.multiply",
            "position": {
              "x": 520,
              "y": 936
            },
            "settings": {}
          },
          {
            "nodeId": "t1",
            "nodeType": "math.multiply",
            "position": {
              "x": 520,
              "y": 1008
            },
            "settings": {}
          },
          {
            "nodeId": "t2",
            "nodeType": "math.multiply",
            "position": {
              "x": 740,
              "y": 1080
            },
            "settings": {}
          },
          {
            "nodeId": "scaled-position",
            "nodeType": "color.multiply",
            "position": {
              "x": 300,
              "y": 1152
            },
            "settings": {}
          },
          {
            "nodeId": "noise",
            "nodeType": "effect.world-noise",
            "position": {
              "x": 520,
              "y": 1224
            },
            "settings": {
              "scale": 1
            }
          },
          {
            "nodeId": "phase",
            "nodeType": "math.multiply",
            "position": {
              "x": 740,
              "y": 1296
            },
            "settings": {}
          },
          {
            "nodeId": "arg1",
            "nodeType": "math.add",
            "position": {
              "x": 960,
              "y": 1368
            },
            "settings": {}
          },
          {
            "nodeId": "arg2",
            "nodeType": "math.add",
            "position": {
              "x": 960,
              "y": 1440
            },
            "settings": {}
          },
          {
            "nodeId": "s1",
            "nodeType": "math.sin",
            "position": {
              "x": 1180,
              "y": 1512
            },
            "settings": {}
          },
          {
            "nodeId": "s2",
            "nodeType": "math.sin",
            "position": {
              "x": 1180,
              "y": 1584
            },
            "settings": {}
          },
          {
            "nodeId": "mask",
            "nodeType": "math.multiply",
            "position": {
              "x": 300,
              "y": 1656
            },
            "settings": {}
          },
          {
            "nodeId": "s2-half",
            "nodeType": "math.multiply",
            "position": {
              "x": 1400,
              "y": 1728
            },
            "settings": {}
          },
          {
            "nodeId": "sway",
            "nodeType": "math.add",
            "position": {
              "x": 1620,
              "y": 1800
            },
            "settings": {}
          },
          {
            "nodeId": "sway-masked",
            "nodeType": "math.multiply",
            "position": {
              "x": 1840,
              "y": 1872
            },
            "settings": {}
          },
          {
            "nodeId": "fx",
            "nodeType": "math.multiply",
            "position": {
              "x": 2060,
              "y": 1944
            },
            "settings": {}
          },
          {
            "nodeId": "lick",
            "nodeType": "math.abs",
            "position": {
              "x": 1400,
              "y": 2016
            },
            "settings": {}
          },
          {
            "nodeId": "lick-masked",
            "nodeType": "math.multiply",
            "position": {
              "x": 1620,
              "y": 2088
            },
            "settings": {}
          },
          {
            "nodeId": "fy",
            "nodeType": "math.multiply",
            "position": {
              "x": 1840,
              "y": 2160
            },
            "settings": {}
          },
          {
            "nodeId": "displacement",
            "nodeType": "math.combine-vector",
            "position": {
              "x": 2280,
              "y": 2232
            },
            "settings": {}
          },
          {
            "nodeId": "displaced",
            "nodeType": "color.add",
            "position": {
              "x": 2500,
              "y": 2304
            },
            "settings": {}
          },
          {
            "nodeId": "output",
            "nodeType": "output.vertex",
            "position": {
              "x": 2720,
              "y": 2376
            },
            "settings": {}
          }
        ],
        "edges": [
          {
            "edgeId": "e:rate.value>w1.a",
            "sourceNodeId": "rate",
            "sourcePortId": "value",
            "targetNodeId": "w1",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:k-two-pi.value>w1.b",
            "sourceNodeId": "k-two-pi",
            "sourcePortId": "value",
            "targetNodeId": "w1",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:w1.value>w2.a",
            "sourceNodeId": "w1",
            "sourcePortId": "value",
            "targetNodeId": "w2",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:k-ratio.value>w2.b",
            "sourceNodeId": "k-ratio",
            "sourcePortId": "value",
            "targetNodeId": "w2",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:time.value>t1.a",
            "sourceNodeId": "time",
            "sourcePortId": "value",
            "targetNodeId": "t1",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:w1.value>t1.b",
            "sourceNodeId": "w1",
            "sourcePortId": "value",
            "targetNodeId": "t1",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:time.value>t2.a",
            "sourceNodeId": "time",
            "sourcePortId": "value",
            "targetNodeId": "t2",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:w2.value>t2.b",
            "sourceNodeId": "w2",
            "sourcePortId": "value",
            "targetNodeId": "t2",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:position.value>scaled-position.a",
            "sourceNodeId": "position",
            "sourcePortId": "value",
            "targetNodeId": "scaled-position",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:phase-scale.value>scaled-position.b",
            "sourceNodeId": "phase-scale",
            "sourcePortId": "value",
            "targetNodeId": "scaled-position",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:scaled-position.value>noise.position",
            "sourceNodeId": "scaled-position",
            "sourcePortId": "value",
            "targetNodeId": "noise",
            "targetPortId": "position"
          },
          {
            "edgeId": "e:noise.value>phase.a",
            "sourceNodeId": "noise",
            "sourcePortId": "value",
            "targetNodeId": "phase",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:k-phase.value>phase.b",
            "sourceNodeId": "k-phase",
            "sourcePortId": "value",
            "targetNodeId": "phase",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:t1.value>arg1.a",
            "sourceNodeId": "t1",
            "sourcePortId": "value",
            "targetNodeId": "arg1",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:phase.value>arg1.b",
            "sourceNodeId": "phase",
            "sourcePortId": "value",
            "targetNodeId": "arg1",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:t2.value>arg2.a",
            "sourceNodeId": "t2",
            "sourcePortId": "value",
            "targetNodeId": "arg2",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:phase.value>arg2.b",
            "sourceNodeId": "phase",
            "sourcePortId": "value",
            "targetNodeId": "arg2",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:arg1.value>s1.input",
            "sourceNodeId": "arg1",
            "sourcePortId": "value",
            "targetNodeId": "s1",
            "targetPortId": "input"
          },
          {
            "edgeId": "e:arg2.value>s2.input",
            "sourceNodeId": "arg2",
            "sourcePortId": "value",
            "targetNodeId": "s2",
            "targetPortId": "input"
          },
          {
            "edgeId": "e:height.value>mask.a",
            "sourceNodeId": "height",
            "sourcePortId": "value",
            "targetNodeId": "mask",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:height.value>mask.b",
            "sourceNodeId": "height",
            "sourcePortId": "value",
            "targetNodeId": "mask",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:s2.value>s2-half.a",
            "sourceNodeId": "s2",
            "sourcePortId": "value",
            "targetNodeId": "s2-half",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:k-half.value>s2-half.b",
            "sourceNodeId": "k-half",
            "sourcePortId": "value",
            "targetNodeId": "s2-half",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:s1.value>sway.a",
            "sourceNodeId": "s1",
            "sourcePortId": "value",
            "targetNodeId": "sway",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:s2-half.value>sway.b",
            "sourceNodeId": "s2-half",
            "sourcePortId": "value",
            "targetNodeId": "sway",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:sway.value>sway-masked.a",
            "sourceNodeId": "sway",
            "sourcePortId": "value",
            "targetNodeId": "sway-masked",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:mask.value>sway-masked.b",
            "sourceNodeId": "mask",
            "sourcePortId": "value",
            "targetNodeId": "sway-masked",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:sway-masked.value>fx.a",
            "sourceNodeId": "sway-masked",
            "sourcePortId": "value",
            "targetNodeId": "fx",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:depth.value>fx.b",
            "sourceNodeId": "depth",
            "sourcePortId": "value",
            "targetNodeId": "fx",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:s2.value>lick.input",
            "sourceNodeId": "s2",
            "sourcePortId": "value",
            "targetNodeId": "lick",
            "targetPortId": "input"
          },
          {
            "edgeId": "e:lick.value>lick-masked.a",
            "sourceNodeId": "lick",
            "sourcePortId": "value",
            "targetNodeId": "lick-masked",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:mask.value>lick-masked.b",
            "sourceNodeId": "mask",
            "sourcePortId": "value",
            "targetNodeId": "lick-masked",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:lick-masked.value>fy.a",
            "sourceNodeId": "lick-masked",
            "sourcePortId": "value",
            "targetNodeId": "fy",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:lick-depth.value>fy.b",
            "sourceNodeId": "lick-depth",
            "sourcePortId": "value",
            "targetNodeId": "fy",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:fx.value>displacement.x",
            "sourceNodeId": "fx",
            "sourcePortId": "value",
            "targetNodeId": "displacement",
            "targetPortId": "x"
          },
          {
            "edgeId": "e:fy.value>displacement.y",
            "sourceNodeId": "fy",
            "sourcePortId": "value",
            "targetNodeId": "displacement",
            "targetPortId": "y"
          },
          {
            "edgeId": "e:position.value>displaced.a",
            "sourceNodeId": "position",
            "sourcePortId": "value",
            "targetNodeId": "displaced",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:displacement.vec3>displaced.b",
            "sourceNodeId": "displacement",
            "sourcePortId": "vec3",
            "targetNodeId": "displaced",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:displaced.value>output.value",
            "sourceNodeId": "displaced",
            "sourcePortId": "value",
            "targetNodeId": "output",
            "targetPortId": "value"
          }
        ],
        "parameters": [
          {
            "parameterId": "flickerRate",
            "displayName": "Flicker Rate (Hz)",
            "dataType": "float",
            "defaultValue": 2.5
          },
          {
            "parameterId": "flickerDepth",
            "displayName": "Flicker Depth (m)",
            "dataType": "float",
            "defaultValue": 0.04
          },
          {
            "parameterId": "lickDepth",
            "displayName": "Lick Depth (m)",
            "dataType": "float",
            "defaultValue": 0.03
          },
          {
            "parameterId": "phaseScale",
            "displayName": "Phase Scale",
            "dataType": "float",
            "defaultValue": 8
          }
        ],
        "metadata": {
          "parameterRanges": {
            "flickerRate": {
              "min": 0,
              "max": 12,
              "step": 0.1
            },
            "flickerDepth": {
              "min": 0,
              "max": 0.2,
              "step": 0.005
            },
            "lickDepth": {
              "min": 0,
              "max": 0.2,
              "step": 0.005
            },
            "phaseScale": {
              "min": 0,
              "max": 32,
              "step": 0.5
            }
          }
        },
        "groups": []
      },
      {
        "shaderDefinitionId": "minis:shader:fire-glow",
        "definitionKind": "shader",
        "displayName": "Fire Glow",
        "targetKind": "mesh-surface",
        "revision": 2,
        "nodes": [
          {
            "nodeId": "base-color",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 48
            },
            "settings": {
              "parameterId": "baseColor"
            }
          },
          {
            "nodeId": "glow-color",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 160
            },
            "settings": {
              "parameterId": "glowColor"
            }
          },
          {
            "nodeId": "glow-intensity",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 272
            },
            "settings": {
              "parameterId": "glowIntensity"
            }
          },
          {
            "nodeId": "glow",
            "nodeType": "color.multiply",
            "position": {
              "x": 300,
              "y": 216
            },
            "settings": {}
          },
          {
            "nodeId": "surface",
            "nodeType": "output.surface",
            "position": {
              "x": 560,
              "y": 48
            },
            "settings": {}
          },
          {
            "nodeId": "emissive",
            "nodeType": "output.emissive",
            "position": {
              "x": 560,
              "y": 216
            },
            "settings": {}
          }
        ],
        "edges": [
          {
            "edgeId": "e:base-color>surface.color",
            "sourceNodeId": "base-color",
            "sourcePortId": "value",
            "targetNodeId": "surface",
            "targetPortId": "color"
          },
          {
            "edgeId": "e:glow-color>glow.a",
            "sourceNodeId": "glow-color",
            "sourcePortId": "value",
            "targetNodeId": "glow",
            "targetPortId": "a"
          },
          {
            "edgeId": "e:glow-intensity>glow.b",
            "sourceNodeId": "glow-intensity",
            "sourcePortId": "value",
            "targetNodeId": "glow",
            "targetPortId": "b"
          },
          {
            "edgeId": "e:glow>emissive.color",
            "sourceNodeId": "glow",
            "sourcePortId": "value",
            "targetNodeId": "emissive",
            "targetPortId": "color"
          }
        ],
        "parameters": [
          {
            "parameterId": "baseColor",
            "displayName": "Base Color",
            "dataType": "color",
            "defaultValue": [
              1,
              1,
              1
            ]
          },
          {
            "parameterId": "glowColor",
            "displayName": "Glow Color",
            "dataType": "color",
            "defaultValue": [
              1,
              1,
              1
            ]
          },
          {
            "parameterId": "glowIntensity",
            "displayName": "Glow Intensity",
            "dataType": "float",
            "defaultValue": 1
          }
        ],
        "metadata": {
          "parameterRanges": {
            "glowIntensity": {
              "min": 0,
              "max": 6,
              "step": 0.1
            }
          }
        },
        "groups": []
      },
      {
        "shaderDefinitionId": "minis:shader:vignette",
        "definitionKind": "shader",
        "displayName": "Vignette",
        "targetKind": "post-process",
        "revision": 1,
        "nodes": [
          {
            "nodeId": "scene-color",
            "nodeType": "input.scene-color",
            "position": {
              "x": 48,
              "y": 176
            },
            "settings": {}
          },
          {
            "nodeId": "screen-uv",
            "nodeType": "input.screen-uv",
            "position": {
              "x": 48,
              "y": 48
            },
            "settings": {}
          },
          {
            "nodeId": "color",
            "nodeType": "input.parameter",
            "position": {
              "x": 912,
              "y": 384
            },
            "settings": {
              "parameterId": "color"
            }
          },
          {
            "nodeId": "intensity",
            "nodeType": "input.parameter",
            "position": {
              "x": 1216,
              "y": 304
            },
            "settings": {
              "parameterId": "intensity"
            }
          },
          {
            "nodeId": "softness",
            "nodeType": "input.parameter",
            "position": {
              "x": 448,
              "y": 304
            },
            "settings": {
              "parameterId": "softness"
            }
          },
          {
            "nodeId": "radius",
            "nodeType": "input.parameter",
            "position": {
              "x": 448,
              "y": 432
            },
            "settings": {
              "parameterId": "radius"
            }
          },
          {
            "nodeId": "center-half",
            "nodeType": "input.constant-float",
            "position": {
              "x": 48,
              "y": 304
            },
            "settings": {
              "value": 0.5
            }
          },
          {
            "nodeId": "center",
            "nodeType": "math.combine-vector",
            "position": {
              "x": 240,
              "y": 304
            },
            "settings": {}
          },
          {
            "nodeId": "distance",
            "nodeType": "math.distance",
            "position": {
              "x": 448,
              "y": 128
            },
            "settings": {}
          },
          {
            "nodeId": "radius-minus-softness",
            "nodeType": "math.subtract",
            "position": {
              "x": 672,
              "y": 304
            },
            "settings": {}
          },
          {
            "nodeId": "mask",
            "nodeType": "math.smoothstep",
            "position": {
              "x": 912,
              "y": 128
            },
            "settings": {}
          },
          {
            "nodeId": "intensity-mask",
            "nodeType": "math.multiply",
            "position": {
              "x": 1216,
              "y": 128
            },
            "settings": {}
          },
          {
            "nodeId": "mix",
            "nodeType": "math.lerp",
            "position": {
              "x": 1456,
              "y": 176
            },
            "settings": {}
          },
          {
            "nodeId": "output",
            "nodeType": "output.post-process",
            "position": {
              "x": 1696,
              "y": 176
            },
            "settings": {}
          }
        ],
        "edges": [
          {
            "edgeId": "edge-half-center-x",
            "sourceNodeId": "center-half",
            "sourcePortId": "value",
            "targetNodeId": "center",
            "targetPortId": "x"
          },
          {
            "edgeId": "edge-half-center-y",
            "sourceNodeId": "center-half",
            "sourcePortId": "value",
            "targetNodeId": "center",
            "targetPortId": "y"
          },
          {
            "edgeId": "edge-uv-distance-a",
            "sourceNodeId": "screen-uv",
            "sourcePortId": "value",
            "targetNodeId": "distance",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-center-distance-b",
            "sourceNodeId": "center",
            "sourcePortId": "vec2",
            "targetNodeId": "distance",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-radius-minus-softness-a",
            "sourceNodeId": "radius",
            "sourcePortId": "value",
            "targetNodeId": "radius-minus-softness",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-radius-minus-softness-b",
            "sourceNodeId": "softness",
            "sourcePortId": "value",
            "targetNodeId": "radius-minus-softness",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-radius-minus-softness-mask-edge0",
            "sourceNodeId": "radius-minus-softness",
            "sourcePortId": "value",
            "targetNodeId": "mask",
            "targetPortId": "edge0"
          },
          {
            "edgeId": "edge-radius-mask-edge1",
            "sourceNodeId": "radius",
            "sourcePortId": "value",
            "targetNodeId": "mask",
            "targetPortId": "edge1"
          },
          {
            "edgeId": "edge-distance-mask-x",
            "sourceNodeId": "distance",
            "sourcePortId": "value",
            "targetNodeId": "mask",
            "targetPortId": "x"
          },
          {
            "edgeId": "edge-mask-intensity-mask-a",
            "sourceNodeId": "mask",
            "sourcePortId": "value",
            "targetNodeId": "intensity-mask",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-intensity-intensity-mask-b",
            "sourceNodeId": "intensity",
            "sourcePortId": "value",
            "targetNodeId": "intensity-mask",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-scene-mix-a",
            "sourceNodeId": "scene-color",
            "sourcePortId": "value",
            "targetNodeId": "mix",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-color-mix-b",
            "sourceNodeId": "color",
            "sourcePortId": "value",
            "targetNodeId": "mix",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-mask-mix-alpha",
            "sourceNodeId": "intensity-mask",
            "sourcePortId": "value",
            "targetNodeId": "mix",
            "targetPortId": "alpha"
          },
          {
            "edgeId": "edge-mix-output",
            "sourceNodeId": "mix",
            "sourcePortId": "value",
            "targetNodeId": "output",
            "targetPortId": "color"
          }
        ],
        "parameters": [
          {
            "parameterId": "color",
            "displayName": "Color",
            "dataType": "color",
            "defaultValue": [
              0,
              0,
              0
            ]
          },
          {
            "parameterId": "intensity",
            "displayName": "Intensity",
            "dataType": "float",
            "defaultValue": 0.35
          },
          {
            "parameterId": "softness",
            "displayName": "Softness",
            "dataType": "float",
            "defaultValue": 0.18
          },
          {
            "parameterId": "radius",
            "displayName": "Radius",
            "dataType": "float",
            "defaultValue": 0.78
          }
        ],
        "metadata": {
          "builtIn": true,
          "builtInKey": "vignette"
        }
      },
      {
        "shaderDefinitionId": "minis:shader:fog-tint",
        "definitionKind": "shader",
        "displayName": "Fog Tint",
        "targetKind": "post-process",
        "revision": 3,
        "nodes": [
          {
            "nodeId": "scene-color",
            "nodeType": "input.scene-color",
            "position": {
              "x": 48,
              "y": 176
            },
            "settings": {}
          },
          {
            "nodeId": "scene-depth",
            "nodeType": "input.scene-depth",
            "position": {
              "x": 48,
              "y": 48
            },
            "settings": {}
          },
          {
            "nodeId": "world-position",
            "nodeType": "input.world-position",
            "position": {
              "x": 48,
              "y": 560
            },
            "settings": {}
          },
          {
            "nodeId": "color",
            "nodeType": "input.parameter",
            "position": {
              "x": 912,
              "y": 304
            },
            "settings": {
              "parameterId": "color"
            }
          },
          {
            "nodeId": "density",
            "nodeType": "input.parameter",
            "position": {
              "x": 288,
              "y": 304
            },
            "settings": {
              "parameterId": "density"
            }
          },
          {
            "nodeId": "heightFalloff",
            "nodeType": "input.parameter",
            "position": {
              "x": 288,
              "y": 688
            },
            "settings": {
              "parameterId": "heightFalloff"
            }
          },
          {
            "nodeId": "one",
            "nodeType": "input.constant-float",
            "position": {
              "x": 912,
              "y": 432
            },
            "settings": {
              "value": 1
            }
          },
          {
            "nodeId": "negative-one",
            "nodeType": "input.constant-float",
            "position": {
              "x": 288,
              "y": 432
            },
            "settings": {
              "value": -1
            }
          },
          {
            "nodeId": "zero",
            "nodeType": "input.constant-float",
            "position": {
              "x": 288,
              "y": 560
            },
            "settings": {
              "value": 0
            }
          },
          {
            "nodeId": "depth-times-density",
            "nodeType": "math.multiply",
            "position": {
              "x": 528,
              "y": 48
            },
            "settings": {}
          },
          {
            "nodeId": "negate-depth",
            "nodeType": "math.multiply",
            "position": {
              "x": 720,
              "y": 48
            },
            "settings": {}
          },
          {
            "nodeId": "exp",
            "nodeType": "math.exp",
            "position": {
              "x": 912,
              "y": 176
            },
            "settings": {}
          },
          {
            "nodeId": "one-minus-exp",
            "nodeType": "math.subtract",
            "position": {
              "x": 1120,
              "y": 176
            },
            "settings": {}
          },
          {
            "nodeId": "world-y",
            "nodeType": "math.split-vector",
            "position": {
              "x": 288,
              "y": 560
            },
            "settings": {}
          },
          {
            "nodeId": "world-y-clamped",
            "nodeType": "math.max",
            "position": {
              "x": 528,
              "y": 560
            },
            "settings": {}
          },
          {
            "nodeId": "height-times-falloff",
            "nodeType": "math.multiply",
            "position": {
              "x": 720,
              "y": 560
            },
            "settings": {}
          },
          {
            "nodeId": "negate-height",
            "nodeType": "math.multiply",
            "position": {
              "x": 912,
              "y": 560
            },
            "settings": {}
          },
          {
            "nodeId": "height-atten",
            "nodeType": "math.exp",
            "position": {
              "x": 1120,
              "y": 560
            },
            "settings": {}
          },
          {
            "nodeId": "combined-mask",
            "nodeType": "math.multiply",
            "position": {
              "x": 1320,
              "y": 368
            },
            "settings": {}
          },
          {
            "nodeId": "sky-near",
            "nodeType": "input.constant-float",
            "position": {
              "x": 288,
              "y": 816
            },
            "settings": {
              "value": 940
            }
          },
          {
            "nodeId": "sky-far",
            "nodeType": "input.constant-float",
            "position": {
              "x": 288,
              "y": 896
            },
            "settings": {
              "value": 992
            }
          },
          {
            "nodeId": "sky-fade",
            "nodeType": "math.smoothstep",
            "position": {
              "x": 720,
              "y": 856
            },
            "settings": {}
          },
          {
            "nodeId": "sky-gate",
            "nodeType": "math.subtract",
            "position": {
              "x": 1120,
              "y": 856
            },
            "settings": {}
          },
          {
            "nodeId": "masked-by-sky",
            "nodeType": "math.multiply",
            "position": {
              "x": 1420,
              "y": 560
            },
            "settings": {}
          },
          {
            "nodeId": "mix",
            "nodeType": "math.lerp",
            "position": {
              "x": 1560,
              "y": 176
            },
            "settings": {}
          },
          {
            "nodeId": "output",
            "nodeType": "output.post-process",
            "position": {
              "x": 1780,
              "y": 176
            },
            "settings": {}
          }
        ],
        "edges": [
          {
            "edgeId": "edge-depth-density",
            "sourceNodeId": "scene-depth",
            "sourcePortId": "value",
            "targetNodeId": "depth-times-density",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-density-density",
            "sourceNodeId": "density",
            "sourcePortId": "value",
            "targetNodeId": "depth-times-density",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-depth-negate",
            "sourceNodeId": "depth-times-density",
            "sourcePortId": "value",
            "targetNodeId": "negate-depth",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-negative-one-negate",
            "sourceNodeId": "negative-one",
            "sourcePortId": "value",
            "targetNodeId": "negate-depth",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-negate-exp",
            "sourceNodeId": "negate-depth",
            "sourcePortId": "value",
            "targetNodeId": "exp",
            "targetPortId": "input"
          },
          {
            "edgeId": "edge-one-subtract",
            "sourceNodeId": "one",
            "sourcePortId": "value",
            "targetNodeId": "one-minus-exp",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-exp-subtract",
            "sourceNodeId": "exp",
            "sourcePortId": "value",
            "targetNodeId": "one-minus-exp",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-worldpos-split",
            "sourceNodeId": "world-position",
            "sourcePortId": "value",
            "targetNodeId": "world-y",
            "targetPortId": "input"
          },
          {
            "edgeId": "edge-worldy-max-a",
            "sourceNodeId": "world-y",
            "sourcePortId": "y",
            "targetNodeId": "world-y-clamped",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-zero-max-b",
            "sourceNodeId": "zero",
            "sourcePortId": "value",
            "targetNodeId": "world-y-clamped",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-height-times-falloff-a",
            "sourceNodeId": "world-y-clamped",
            "sourcePortId": "value",
            "targetNodeId": "height-times-falloff",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-height-times-falloff-b",
            "sourceNodeId": "heightFalloff",
            "sourcePortId": "value",
            "targetNodeId": "height-times-falloff",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-negate-height-a",
            "sourceNodeId": "height-times-falloff",
            "sourcePortId": "value",
            "targetNodeId": "negate-height",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-negate-height-b",
            "sourceNodeId": "negative-one",
            "sourcePortId": "value",
            "targetNodeId": "negate-height",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-height-exp",
            "sourceNodeId": "negate-height",
            "sourcePortId": "value",
            "targetNodeId": "height-atten",
            "targetPortId": "input"
          },
          {
            "edgeId": "edge-combine-a",
            "sourceNodeId": "one-minus-exp",
            "sourcePortId": "value",
            "targetNodeId": "combined-mask",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-combine-b",
            "sourceNodeId": "height-atten",
            "sourcePortId": "value",
            "targetNodeId": "combined-mask",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-sky-near-edge0",
            "sourceNodeId": "sky-near",
            "sourcePortId": "value",
            "targetNodeId": "sky-fade",
            "targetPortId": "edge0"
          },
          {
            "edgeId": "edge-sky-far-edge1",
            "sourceNodeId": "sky-far",
            "sourcePortId": "value",
            "targetNodeId": "sky-fade",
            "targetPortId": "edge1"
          },
          {
            "edgeId": "edge-depth-sky-fade-x",
            "sourceNodeId": "scene-depth",
            "sourcePortId": "value",
            "targetNodeId": "sky-fade",
            "targetPortId": "x"
          },
          {
            "edgeId": "edge-one-sky-gate-a",
            "sourceNodeId": "one",
            "sourcePortId": "value",
            "targetNodeId": "sky-gate",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-sky-fade-sky-gate-b",
            "sourceNodeId": "sky-fade",
            "sourcePortId": "value",
            "targetNodeId": "sky-gate",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-masked-by-sky-a",
            "sourceNodeId": "combined-mask",
            "sourcePortId": "value",
            "targetNodeId": "masked-by-sky",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-masked-by-sky-b",
            "sourceNodeId": "sky-gate",
            "sourcePortId": "value",
            "targetNodeId": "masked-by-sky",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-scene-mix",
            "sourceNodeId": "scene-color",
            "sourcePortId": "value",
            "targetNodeId": "mix",
            "targetPortId": "a"
          },
          {
            "edgeId": "edge-color-mix",
            "sourceNodeId": "color",
            "sourcePortId": "value",
            "targetNodeId": "mix",
            "targetPortId": "b"
          },
          {
            "edgeId": "edge-mask-mix",
            "sourceNodeId": "masked-by-sky",
            "sourcePortId": "value",
            "targetNodeId": "mix",
            "targetPortId": "alpha"
          },
          {
            "edgeId": "edge-mix-output",
            "sourceNodeId": "mix",
            "sourcePortId": "value",
            "targetNodeId": "output",
            "targetPortId": "color"
          }
        ],
        "parameters": [
          {
            "parameterId": "color",
            "displayName": "Color",
            "dataType": "color",
            "defaultValue": [
              0.75,
              0.82,
              0.92
            ]
          },
          {
            "parameterId": "density",
            "displayName": "Density",
            "dataType": "float",
            "defaultValue": 0.008
          },
          {
            "parameterId": "heightFalloff",
            "displayName": "Height Falloff",
            "dataType": "float",
            "defaultValue": 0
          }
        ],
        "metadata": {
          "builtIn": true,
          "builtInKey": "fog-tint"
        }
      },
      {
        "shaderDefinitionId": "minis:shader:cloud-shadows",
        "definitionKind": "shader",
        "displayName": "Cloud Shadows",
        "targetKind": "post-process",
        "revision": 1,
        "nodes": [
          {
            "nodeId": "scene-color",
            "nodeType": "input.scene-color",
            "position": {
              "x": 48,
              "y": 176
            },
            "settings": {}
          },
          {
            "nodeId": "world-position",
            "nodeType": "input.world-position",
            "position": {
              "x": 48,
              "y": 48
            },
            "settings": {}
          },
          {
            "nodeId": "time",
            "nodeType": "input.time",
            "position": {
              "x": 48,
              "y": 224
            },
            "settings": {}
          },
          {
            "nodeId": "scale",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 304
            },
            "settings": {
              "parameterId": "scale"
            }
          },
          {
            "nodeId": "speedX",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 384
            },
            "settings": {
              "parameterId": "speedX"
            }
          },
          {
            "nodeId": "speedZ",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 464
            },
            "settings": {
              "parameterId": "speedZ"
            }
          },
          {
            "nodeId": "coverage",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 544
            },
            "settings": {
              "parameterId": "coverage"
            }
          },
          {
            "nodeId": "softness",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 624
            },
            "settings": {
              "parameterId": "softness"
            }
          },
          {
            "nodeId": "darkness",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 704
            },
            "settings": {
              "parameterId": "darkness"
            }
          },
          {
            "nodeId": "shadowColor",
            "nodeType": "input.parameter",
            "position": {
              "x": 48,
              "y": 784
            },
            "settings": {
              "parameterId": "shadowColor"
            }
          },
          {
            "nodeId": "cloud",
            "nodeType": "effect.cloud-shadow-pass",
            "position": {
              "x": 480,
              "y": 240
            },
            "settings": {}
          },
          {
            "nodeId": "output",
            "nodeType": "output.post-process",
            "position": {
              "x": 880,
              "y": 240
            },
            "settings": {}
          }
        ],
        "edges": [
          {
            "edgeId": "edge-scene-cloud",
            "sourceNodeId": "scene-color",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "input"
          },
          {
            "edgeId": "edge-worldpos-cloud",
            "sourceNodeId": "world-position",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "worldPosition"
          },
          {
            "edgeId": "edge-time-cloud",
            "sourceNodeId": "time",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "time"
          },
          {
            "edgeId": "edge-scale",
            "sourceNodeId": "scale",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "scale"
          },
          {
            "edgeId": "edge-speedx",
            "sourceNodeId": "speedX",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "speedX"
          },
          {
            "edgeId": "edge-speedz",
            "sourceNodeId": "speedZ",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "speedZ"
          },
          {
            "edgeId": "edge-coverage",
            "sourceNodeId": "coverage",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "coverage"
          },
          {
            "edgeId": "edge-softness",
            "sourceNodeId": "softness",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "softness"
          },
          {
            "edgeId": "edge-darkness",
            "sourceNodeId": "darkness",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "darkness"
          },
          {
            "edgeId": "edge-shadowcolor",
            "sourceNodeId": "shadowColor",
            "sourcePortId": "value",
            "targetNodeId": "cloud",
            "targetPortId": "shadowColor"
          },
          {
            "edgeId": "edge-cloud-output",
            "sourceNodeId": "cloud",
            "sourcePortId": "value",
            "targetNodeId": "output",
            "targetPortId": "color"
          }
        ],
        "parameters": [
          {
            "parameterId": "scale",
            "displayName": "Scale",
            "dataType": "float",
            "defaultValue": 0.04
          },
          {
            "parameterId": "speedX",
            "displayName": "Speed X",
            "dataType": "float",
            "defaultValue": 1
          },
          {
            "parameterId": "speedZ",
            "displayName": "Speed Z",
            "dataType": "float",
            "defaultValue": 0.3
          },
          {
            "parameterId": "coverage",
            "displayName": "Coverage",
            "dataType": "float",
            "defaultValue": 0.4
          },
          {
            "parameterId": "softness",
            "displayName": "Softness",
            "dataType": "float",
            "defaultValue": 0.15
          },
          {
            "parameterId": "darkness",
            "displayName": "Darkness",
            "dataType": "float",
            "defaultValue": 0.35
          },
          {
            "parameterId": "shadowColor",
            "displayName": "Shadow Color",
            "dataType": "color",
            "defaultValue": [
              0,
              0,
              0
            ]
          }
        ],
        "metadata": {
          "builtIn": true,
          "builtInKey": "cloud-shadows"
        }
      }
    ]
  },
  "mechanics": {
    "stats": [
      {
        "id": "battery",
        "displayName": "Battery",
        "default": 100,
        "min": 0,
        "max": 100,
        "decay": null,
        "recharge": {
          "ratePerSecond": 0.016666666666666666
        },
        "display": "battery",
        "role": "battery"
      },
      {
        "id": "resonance",
        "displayName": "Resonance",
        "default": 0,
        "min": 0,
        "max": 100,
        "decay": null,
        "recharge": null,
        "display": "bar",
        "role": "resonance"
      }
    ],
    "castables": [
      {
        "id": "spell",
        "displayName": "Spell",
        "description": "Default Sugarmagic spell cast flow.",
        "inputs": [
          {
            "id": "batteryCost",
            "type": "number",
            "required": true,
            "default": 1,
            "description": "Battery consumed by the spell."
          },
          {
            "id": "chaosBase",
            "type": "number",
            "required": true,
            "default": 0,
            "description": "Base chaos chance from 0 to 100."
          }
        ],
        "cost": "caster.battery >= self.batteryCost",
        "acceptsTarget": false,
        "onCast": [
          {
            "op": "consume",
            "target": "caster.battery",
            "amount": "self.batteryCost"
          },
          {
            "op": "branch",
            "condition": "roll(1d100) <= clamp(self.chaosBase - caster.resonance * 0.8, 0, 100)",
            "then": [
              {
                "op": "emit",
                "kind": "spell-chaos"
              },
              {
                "op": "set",
                "target": "caster.resonance",
                "value": "0"
              }
            ],
            "else": [
              {
                "op": "emit",
                "kind": "spell-success"
              }
            ]
          }
        ]
      }
    ]
  },
  "playerDefinition": {
    "definitionId": "minis:player:default",
    "displayName": "Player",
    "lorePageId": "lore.pp.player",
    "physicalProfile": {
      "height": 1.4241,
      "radius": 0.35,
      "eyeHeight": 1
    },
    "movementProfile": {
      "walkSpeed": 4.5,
      "runSpeed": 6.5,
      "acceleration": 10
    },
    "casterProfile": {
      "initialBattery": 100,
      "rechargeRate": 1,
      "initialResonance": 0,
      "allowedSpellTags": [],
      "blockedSpellTags": []
    },
    "presentation": {
      "modelAssetDefinitionId": "minis:character-model:cast-maid",
      "animationAssetBindings": {
        "idle": "minis:character-animation:cast-maid-idle",
        "walk": "minis:character-animation:cast-maid-walk",
        "run": "minis:character-animation:cast-maid-run"
      }
    }
  },
  "worldFlagDefinitions": [],
  "spellDefinitions": [],
  "itemDefinitions": [],
  "documentDefinitions": [],
  "npcDefinitions": [
    {
      "definitionId": "minis:npc:lizzy",
      "displayName": "Lizzy",
      "description": "Elizabeth Bennet, the second Bennet daughter and the player's mistress: warm to her maid, quick, amused by her mother and fond of her father; asks the player about herself; never unkind.",
      "interactionMode": "scripted",
      "lorePageId": "lore.pp.lizzy",
      "recoveryStrategies": [],
      "presentation": {
        "modelAssetDefinitionId": "minis:character-model:cast-lizzy",
        "modelHeight": 1.6446,
        "animationAssetBindings": {
          "idle": "minis:character-animation:cast-lizzy-idle",
          "walk": "minis:character-animation:cast-lizzy-walk",
          "run": "minis:character-animation:cast-lizzy-run",
          "sit": "minis:character-animation:cast-lizzy-sit"
        }
      }
    },
    {
      "definitionId": "minis:npc:jane",
      "displayName": "Jane",
      "description": "Jane Bennet, the eldest daughter: gentle, sees the good in everyone; thanks the player for the tea.",
      "interactionMode": "agent",
      "lorePageId": "lore.pp.jane",
      "recoveryStrategies": [],
      "presentation": {
        "modelAssetDefinitionId": "minis:character-model:cast-jane",
        "modelHeight": 1.6453,
        "animationAssetBindings": {
          "idle": "minis:character-animation:cast-jane-idle",
          "walk": "minis:character-animation:cast-jane-walk",
          "run": "minis:character-animation:cast-jane-run",
          "sit": "minis:character-animation:cast-jane-sit"
        }
      }
    },
    {
      "definitionId": "minis:npc:lydia",
      "displayName": "Lydia",
      "description": "Lydia Bennet, fifteen and the youngest: loud, wants to know if Mr. Bingley's friends are officers.",
      "interactionMode": "agent",
      "lorePageId": "lore.pp.lydia",
      "recoveryStrategies": [],
      "presentation": {
        "modelAssetDefinitionId": "minis:character-model:cast-lydia",
        "modelHeight": 1.761,
        "animationAssetBindings": {
          "idle": "minis:character-animation:cast-lydia-idle",
          "walk": "minis:character-animation:cast-lydia-walk",
          "run": "minis:character-animation:cast-lydia-run",
          "sit": "minis:character-animation:cast-lydia-sit"
        }
      }
    },
    {
      "definitionId": "minis:npc:mr-bennet",
      "displayName": "Mr. Bennet",
      "description": "Mr. Bennet, in his armchair behind the newspaper: few words, dry, deflects with a joke; kind to servants.",
      "interactionMode": "agent",
      "lorePageId": "lore.pp.mr-bennet",
      "recoveryStrategies": [],
      "presentation": {
        "modelAssetDefinitionId": "minis:character-model:cast-mr-bennet",
        "modelHeight": 1.6613,
        "animationAssetBindings": {
          "idle": "minis:character-animation:cast-mr-bennet-idle",
          "walk": "minis:character-animation:cast-mr-bennet-walk",
          "run": "minis:character-animation:cast-mr-bennet-run",
          "sit": "minis:character-animation:cast-mr-bennet-sit"
        }
      }
    },
    {
      "definitionId": "minis:npc:mrs-bennet",
      "displayName": "Mrs. Bennet",
      "description": "Mrs. Bennet, mother of five daughters: talks of nothing but the new neighbour and her daughters' prospects; orders tea; flustered, never cruel.",
      "interactionMode": "agent",
      "lorePageId": "lore.pp.mrs-bennet",
      "recoveryStrategies": [],
      "presentation": {
        "modelAssetDefinitionId": "minis:character-model:cast-mrs-bennet",
        "modelHeight": 1.4773,
        "animationAssetBindings": {
          "idle": "minis:character-animation:cast-mrs-bennet-idle",
          "walk": "minis:character-animation:cast-mrs-bennet-walk",
          "run": "minis:character-animation:cast-mrs-bennet-run",
          "sit": null
        }
      }
    },
    {
      "definitionId": "minis:npc:holmes",
      "displayName": "Holmes",
      "description": "Sherlock Holmes, a grey wolf in a tan coat and red waistcoat with a pipe, at the breakfast table with his back to the room: brisk, amused, fond of Watson and says so once; corrects gently and enjoys it; will not explain everything, and says so; bored by the legend, interested from the footprints on; wants tobacco and silence when the talk runs long. Addresses the player as Watson; never tells the player what Watson thinks.",
      "interactionMode": "agent",
      "lorePageId": "lore.sh.holmes",
      "recoveryStrategies": [],
      "presentation": {
        "modelAssetDefinitionId": "minis:character-model:cast-holmes",
        "modelHeight": 1.74,
        "animationAssetBindings": {
          "idle": "minis:character-animation:cast-holmes-idle",
          "walk": "minis:character-animation:cast-holmes-walk",
          "run": "minis:character-animation:cast-holmes-run",
          "sit": null
        }
      }
    },
    {
      "definitionId": "minis:npc:mortimer",
      "displayName": "Dr Mortimer",
      "description": "Dr James Mortimer, a heron in spectacles, a country practitioner of Grimpen, Dartmoor, a humble M.R.C.S.: eager, scientific, a picker-up of shells on the shore of the great unknown ocean; a little morbid about skulls, including the player's; frightened for Sir Henry and half-persuaded the thing is supernatural; apologetic when he has said something rude. Addresses the player as Dr Watson, whose name he has heard; never tells the player what Watson thinks.",
      "interactionMode": "agent",
      "lorePageId": "lore.sh.mortimer",
      "recoveryStrategies": [],
      "presentation": {
        "modelAssetDefinitionId": "minis:character-model:cast-mortimer",
        "modelHeight": 1.4909,
        "animationAssetBindings": {
          "idle": "minis:character-animation:cast-mortimer-idle",
          "walk": "minis:character-animation:cast-mortimer-walk",
          "run": "minis:character-animation:cast-mortimer-run",
          "sit": null
        }
      }
    },
    {
      "definitionId": "minis:npc:nollie",
      "displayName": "Nollie",
      "description": "A kind anthropomorphic bear behind the bar of his own cafe. He leads the conversation, simply and warmly.",
      "interactionMode": "agent",
      "lorePageId": "lore.entities.npcs.nollie",
      "recoveryStrategies": [],
      "presentation": {
        "modelAssetDefinitionId": "minis:character-model:cast-nollie",
        "modelHeight": 1.68,
        "animationAssetBindings": {
          "idle": null,
          "walk": null,
          "run": null,
          "sit": null
        }
      }
    }
  ],
  "dialogueDefinitions": [
    {
      "definitionId": "dlg:pp-ep01:news",
      "displayName": "The news",
      "startNodeId": "dlg:pp-ep01:news:line-1",
      "nodes": [
        {
          "nodeId": "dlg:pp-ep01:news:line-1",
          "displayName": "The news 1/3",
          "speakerId": "minis:npc:mrs-bennet",
          "speakerLabel": "Mrs. Bennet",
          "text": "Good afternoon! I have news. Netherfield Park is let at last, to a rich young man from the north.",
          "intent": {
            "mustConveyFacts": [
              "Netherfield Park has been let",
              "the new tenant is a rich young man from the north"
            ],
            "beat": "The maid arrives from the hall with the tea tray; Mrs. Bennet announces that Netherfield Park is let at last. (Pride and Prejudice, ch. 1)",
            "voiceNote": "Mrs. Bennet: dramatic, breathless, delighted by any news; never cruel."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:news:line-2"
            }
          ],
          "graphPosition": {
            "x": -106.84265645537155,
            "y": 66.3889455562312
          }
        },
        {
          "nodeId": "dlg:pp-ep01:news:line-2",
          "displayName": "The news 2/3",
          "speakerId": "minis:npc:mr-bennet",
          "speakerLabel": "Mr. Bennet",
          "text": "And what is that to our girls?",
          "intent": {
            "mustConveyFacts": [
              "Mr. Bennet asks what the news has to do with the daughters"
            ],
            "beat": "The maid arrives from the hall with the tea tray; Mrs. Bennet announces that Netherfield Park is let at last. (Pride and Prejudice, ch. 1)",
            "voiceNote": "Mr. Bennet: dry, few words, amused; speaks from behind his newspaper."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:news:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:news:line-3",
          "displayName": "The news 3/3",
          "speakerId": "minis:npc:mrs-bennet",
          "speakerLabel": "Mrs. Bennet",
          "text": "Everything! He is young, he is rich, and he has no wife.",
          "intent": {
            "mustConveyFacts": [
              "the new neighbour is young",
              "he is rich",
              "he has no wife"
            ],
            "beat": "The maid arrives from the hall with the tea tray; Mrs. Bennet announces that Netherfield Park is let at last. (Pride and Prejudice, ch. 1)",
            "voiceNote": "Mrs. Bennet: dramatic, breathless, delighted by any news; never cruel."
          },
          "next": [],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:pp-ep01:campaign",
      "displayName": "The campaign",
      "startNodeId": "dlg:pp-ep01:campaign:line-1",
      "nodes": [
        {
          "nodeId": "dlg:pp-ep01:campaign:line-1",
          "displayName": "The campaign 1/3",
          "speakerId": "minis:npc:mrs-bennet",
          "speakerLabel": "Mrs. Bennet",
          "text": "Mr. Bennet, you must call on Mr. Bingley, for the sake of our daughters!",
          "intent": {
            "mustConveyFacts": [
              "Mr. Bennet must visit Mr. Bingley",
              "it is for the daughters' sake"
            ],
            "beat": "At the tea table the maid sets down the tray and pours; Mrs. Bennet lays out her plan; Jane and Lizzy take their cups. (ch. 1)",
            "voiceNote": "Mrs. Bennet: dramatic, breathless, delighted by any news; never cruel."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:campaign:line-2"
            }
          ],
          "graphPosition": {
            "x": 80,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:campaign:line-2",
          "displayName": "The campaign 2/3",
          "speakerId": "minis:npc:jane",
          "speakerLabel": "Jane",
          "text": "Thank you for the tea.",
          "intent": {
            "mustConveyFacts": [
              "Jane thanks the maid for the tea"
            ],
            "beat": "At the tea table the maid sets down the tray and pours; Mrs. Bennet lays out her plan; Jane and Lizzy take their cups. (ch. 1)",
            "voiceNote": "Jane: gentle and warm; thanks the maid sincerely."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:campaign:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:campaign:line-3",
          "displayName": "The campaign 3/3",
          "speakerId": "minis:npc:lizzy",
          "speakerLabel": "Lizzy",
          "text": "The tea is hot. Thank you.",
          "intent": {
            "mustConveyFacts": [
              "the tea is hot",
              "Lizzy thanks the maid"
            ],
            "beat": "At the tea table the maid sets down the tray and pours; Mrs. Bennet lays out her plan; Jane and Lizzy take their cups. (ch. 1)",
            "voiceNote": "Lizzy: quick, amused by her mother, fond of her father; kind to her maid."
          },
          "next": [],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:pp-ep01:tease",
      "displayName": "The tease",
      "startNodeId": "dlg:pp-ep01:tease:line-1",
      "nodes": [
        {
          "nodeId": "dlg:pp-ep01:tease:line-1",
          "displayName": "The tease 1/3",
          "speakerId": "minis:npc:mr-bennet",
          "speakerLabel": "Mr. Bennet",
          "text": "No, I shall not go. I will write Mr. Bingley a note, and add a good word for my little Lizzy.",
          "intent": {
            "mustConveyFacts": [
              "Mr. Bennet will not visit Mr. Bingley",
              "he will send a note instead",
              "the note includes a good word for Lizzy"
            ],
            "beat": "Beside his armchair, Mr. Bennet declines to visit and proposes a note instead; Mrs. Bennet objects; the maid offers him tea and he takes it without looking up. (ch. 1)",
            "voiceNote": "Mr. Bennet: dry, few words, amused; speaks from behind his newspaper."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:tease:line-2"
            }
          ],
          "graphPosition": {
            "x": 80,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:tease:line-2",
          "displayName": "The tease 2/3",
          "speakerId": "minis:npc:mrs-bennet",
          "speakerLabel": "Mrs. Bennet",
          "text": "Mr. Bennet, please!",
          "intent": {
            "mustConveyFacts": [
              "Mrs. Bennet objects"
            ],
            "beat": "Beside his armchair, Mr. Bennet declines to visit and proposes a note instead; Mrs. Bennet objects; the maid offers him tea and he takes it without looking up. (ch. 1)",
            "voiceNote": "Mrs. Bennet: dramatic, breathless, delighted by any news; never cruel."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:tease:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:tease:line-3",
          "displayName": "The tease 3/3",
          "speakerId": "minis:npc:mr-bennet",
          "speakerLabel": "Mr. Bennet",
          "text": "Tea? Yes, thank you.",
          "intent": {
            "mustConveyFacts": [
              "Mr. Bennet accepts the tea"
            ],
            "beat": "Beside his armchair, Mr. Bennet declines to visit and proposes a note instead; Mrs. Bennet objects; the maid offers him tea and he takes it without looking up. (ch. 1)",
            "voiceNote": "Mr. Bennet: dry, few words, amused; speaks from behind his newspaper."
          },
          "next": [],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:pp-ep01:already-gone",
      "displayName": "He has already gone",
      "startNodeId": "dlg:pp-ep01:already-gone:line-1",
      "nodes": [
        {
          "nodeId": "dlg:pp-ep01:already-gone:line-1",
          "displayName": "He has already gone 1/4",
          "speakerId": "minis:npc:mr-bennet",
          "speakerLabel": "Mr. Bennet",
          "text": "Lizzy's hat is pretty. I hope Mr. Bingley will like it.",
          "intent": {
            "mustConveyFacts": [
              "Mr. Bennet hopes Mr. Bingley will like Lizzy's hat"
            ],
            "beat": "At the fireplace, the maid tending the fire: Mr. Bennet, behind his paper, hopes Mr. Bingley will like Lizzy's hat, and it comes out that he called at Netherfield this morning. Uproar, then delight. (ch. 2)",
            "voiceNote": "Mr. Bennet: dry, few words, amused; speaks from behind his newspaper."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:already-gone:line-2"
            }
          ],
          "graphPosition": {
            "x": 80,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:already-gone:line-2",
          "displayName": "He has already gone 2/4",
          "speakerId": "minis:npc:mrs-bennet",
          "speakerLabel": "Mrs. Bennet",
          "text": "Mr. Bingley? But you do not know him!",
          "intent": {
            "mustConveyFacts": [
              "Mrs. Bennet says Mr. Bennet does not know Mr. Bingley"
            ],
            "beat": "At the fireplace, the maid tending the fire: Mr. Bennet, behind his paper, hopes Mr. Bingley will like Lizzy's hat, and it comes out that he called at Netherfield this morning. Uproar, then delight. (ch. 2)",
            "voiceNote": "Mrs. Bennet: dramatic, breathless, delighted by any news; never cruel."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:already-gone:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:already-gone:line-3",
          "displayName": "He has already gone 3/4",
          "speakerId": "minis:npc:mr-bennet",
          "speakerLabel": "Mr. Bennet",
          "text": "Yes, my dear. I called at Netherfield this morning.",
          "intent": {
            "mustConveyFacts": [
              "Mr. Bennet visited Netherfield this morning"
            ],
            "beat": "At the fireplace, the maid tending the fire: Mr. Bennet, behind his paper, hopes Mr. Bingley will like Lizzy's hat, and it comes out that he called at Netherfield this morning. Uproar, then delight. (ch. 2)",
            "voiceNote": "Mr. Bennet: dry, few words, amused; speaks from behind his newspaper."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:already-gone:line-4"
            }
          ],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:already-gone:line-4",
          "displayName": "He has already gone 4/4",
          "speakerId": "minis:npc:mrs-bennet",
          "speakerLabel": "Mrs. Bennet",
          "text": "Oh! What a good man you are! Girls, girls!",
          "intent": {
            "mustConveyFacts": [
              "Mrs. Bennet is delighted",
              "she calls the girls"
            ],
            "beat": "At the fireplace, the maid tending the fire: Mr. Bennet, behind his paper, hopes Mr. Bingley will like Lizzy's hat, and it comes out that he called at Netherfield this morning. Uproar, then delight. (ch. 2)",
            "voiceNote": "Mrs. Bennet: dramatic, breathless, delighted by any news; never cruel."
          },
          "next": [],
          "graphPosition": {
            "x": 860,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:pp-ep01:blue-coat",
      "displayName": "The blue coat",
      "startNodeId": "dlg:pp-ep01:blue-coat:line-1",
      "nodes": [
        {
          "nodeId": "dlg:pp-ep01:blue-coat:line-1",
          "displayName": "The blue coat 1/4",
          "speakerId": "minis:npc:lydia",
          "speakerLabel": "Lydia",
          "text": "Look! A man on a black horse. He has a blue coat!",
          "intent": {
            "mustConveyFacts": [
              "a man rides up on a black horse",
              "the rider wears a blue coat"
            ],
            "beat": "At the window, after the other beats: a rider comes up the drive, blue coat, black horse. Mr. Bingley is returning the call and spends ten minutes with Mr. Bennet in the library; the ladies see only the horse and the coat; the maid is sent for fresh tea. (ch. 3)",
            "voiceNote": "Lydia: fifteen, loud, excitable."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:blue-coat:line-2"
            }
          ],
          "graphPosition": {
            "x": 80,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:blue-coat:line-2",
          "displayName": "The blue coat 2/4",
          "speakerId": "minis:npc:mrs-bennet",
          "speakerLabel": "Mrs. Bennet",
          "text": "It is Mr. Bingley! He is here. Quick, more tea!",
          "intent": {
            "mustConveyFacts": [
              "the rider is Mr. Bingley",
              "Mrs. Bennet sends for more tea"
            ],
            "beat": "At the window, after the other beats: a rider comes up the drive, blue coat, black horse. Mr. Bingley is returning the call and spends ten minutes with Mr. Bennet in the library; the ladies see only the horse and the coat; the maid is sent for fresh tea. (ch. 3)",
            "voiceNote": "Mrs. Bennet: dramatic, breathless, delighted by any news; never cruel."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:blue-coat:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:blue-coat:line-3",
          "displayName": "The blue coat 3/4",
          "speakerId": "minis:npc:lizzy",
          "speakerLabel": "Lizzy",
          "text": "Mama, he is talking with Papa in the library. We only see the horse.",
          "intent": {
            "mustConveyFacts": [
              "Mr. Bingley is with Mr. Bennet in the library",
              "the ladies see only the horse"
            ],
            "beat": "At the window, after the other beats: a rider comes up the drive, blue coat, black horse. Mr. Bingley is returning the call and spends ten minutes with Mr. Bennet in the library; the ladies see only the horse and the coat; the maid is sent for fresh tea. (ch. 3)",
            "voiceNote": "Lizzy: quick, amused by her mother, fond of her father; kind to her maid."
          },
          "next": [
            {
              "targetNodeId": "dlg:pp-ep01:blue-coat:line-4"
            }
          ],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:pp-ep01:blue-coat:line-4",
          "displayName": "The blue coat 4/4",
          "speakerId": "minis:npc:lizzy",
          "speakerLabel": "Lizzy",
          "text": "New neighbours, new gossip. And this is only the beginning.",
          "intent": {
            "mustConveyFacts": [
              "new neighbours bring new gossip",
              "this is only the beginning"
            ],
            "beat": "At the window, after the other beats: a rider comes up the drive, blue coat, black horse. Mr. Bingley is returning the call and spends ten minutes with Mr. Bennet in the library; the ladies see only the horse and the coat; the maid is sent for fresh tea. (ch. 3)",
            "voiceNote": "Lizzy: quick, amused by her mother, fond of her father; kind to her maid."
          },
          "next": [],
          "graphPosition": {
            "x": 860,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:sh-ep01:stick",
      "displayName": "The stick",
      "startNodeId": "dlg:sh-ep01:stick:line-1",
      "nodes": [
        {
          "nodeId": "dlg:sh-ep01:stick:line-1",
          "displayName": "The stick 1/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Holmes was at the mantel, up early. I stood on the hearth rug with the stick our visitor had left behind last night. \"Well, Watson,\" he said, \"what do you make of it? We missed the man; the stick must speak for him.\"",
          "intent": {
            "mustConveyFacts": [
              "Holmes is at the breakfast table with his back to the room",
              "the visitor's stick lies on the hearth rug",
              "Holmes asks Watson what he makes of the stick"
            ],
            "beat": "Holmes stands at the mantel; Mortimer is not in the room until this beat ends, when the knock comes and he is shown up. Beat 1, the hearth rug: Holmes, back to the player at the breakfast table, asks what Watson makes of the visitor's stick; Watson reads it as an elderly, esteemed country doctor who walks a good deal; Holmes, who saw him in the silver coffee-pot, keeps the doctor and the walking and corrects the rest to a young, amiable, absent-minded man who left Charing Cross Hospital in 1884; the Medical Directory confirms Mortimer of Grimpen; a knock at the door. (The Hound of the Baskervilles, ch. 1; the spaniel is cut.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Holmes's question is quoted, brisk and amused."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:stick:line-2"
            }
          ],
          "graphPosition": {
            "x": -49.17110827377044,
            "y": 73.08011919961943
          }
        },
        {
          "nodeId": "dlg:sh-ep01:stick:line-2",
          "displayName": "The stick 2/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "The silver band read: \"To James Mortimer, M.R.C.S., from his friends of the C.C.H., 1884.\" The iron tip was worn down. I said he was an elderly country doctor, well liked, who walked a good deal, and that the C.C.H. was some local hunt.",
          "intent": {
            "mustConveyFacts": [
              "the stick carries a silver band, a presentation to James Mortimer, M.R.C.S., from the C.C.H., 1884",
              "the iron ferrule is worn down",
              "Watson's reading: an elderly, successful, well-esteemed country doctor who walks a good deal",
              "Watson takes C.C.H. for a local hunt"
            ],
            "beat": "Holmes stands at the mantel; Mortimer is not in the room until this beat ends, when the knock comes and he is shown up. Beat 1, the hearth rug: Holmes, back to the player at the breakfast table, asks what Watson makes of the visitor's stick; Watson reads it as an elderly, esteemed country doctor who walks a good deal; Holmes, who saw him in the silver coffee-pot, keeps the doctor and the walking and corrects the rest to a young, amiable, absent-minded man who left Charing Cross Hospital in 1884; the Medical Directory confirms Mortimer of Grimpen; a knock at the door. (The Hound of the Baskervilles, ch. 1; the spaniel is cut.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Watson's own reading is his thought, said aloud to Holmes; the inscription is read off the stick."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:stick:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:stick:line-3",
          "displayName": "The stick 3/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Holmes allowed me the country doctor and the walking. \"C.C.H. is Charing Cross Hospital. A hospital gives its present when a man leaves, and a house-surgeon leaves young. So: under thirty, amiable, unambitious, absent-minded. He left his stick, not his card.\"",
          "intent": {
            "mustConveyFacts": [
              "Holmes watched Watson in the polished silver coffee-pot",
              "Holmes keeps the country doctor and the walking",
              "C.C.H. is Charing Cross Hospital",
              "a presentation is given when a man leaves, and a house-surgeon leaves young",
              "the man is under thirty, amiable, unambitious and absent-minded",
              "he waited an hour and left his stick, not his card"
            ],
            "beat": "Holmes stands at the mantel; Mortimer is not in the room until this beat ends, when the knock comes and he is shown up. Beat 1, the hearth rug: Holmes, back to the player at the breakfast table, asks what Watson makes of the visitor's stick; Watson reads it as an elderly, esteemed country doctor who walks a good deal; Holmes, who saw him in the silver coffee-pot, keeps the doctor and the walking and corrects the rest to a young, amiable, absent-minded man who left Charing Cross Hospital in 1884; the Medical Directory confirms Mortimer of Grimpen; a knock at the door. (The Hound of the Baskervilles, ch. 1; the spaniel is cut.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Holmes's correction is quoted, gentle and enjoying it."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:stick:line-4"
            }
          ],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:stick:line-4",
          "displayName": "The stick 4/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "My Medical Directory agreed: Mortimer, James, house-surgeon at Charing Cross, 1882 to 1884, now of Grimpen, Dartmoor. Holmes had gone to the window. \"There is a knock at the door: its owner. A step on the stair. Now is the dramatic moment of fate, Watson. Come in!\"",
          "intent": {
            "mustConveyFacts": [
              "the Medical Directory confirms James Mortimer, M.R.C.S., house-surgeon at Charing Cross 1882 to 1884",
              "Mortimer now practises at Grimpen, Dartmoor",
              "Holmes, at the window, hears the knock at the door"
            ],
            "beat": "Holmes stands at the mantel; Mortimer is not in the room until this beat ends, when the knock comes and he is shown up. Beat 1, the hearth rug: Holmes, back to the player at the breakfast table, asks what Watson makes of the visitor's stick; Watson reads it as an elderly, esteemed country doctor who walks a good deal; Holmes, who saw him in the silver coffee-pot, keeps the doctor and the walking and corrects the rest to a young, amiable, absent-minded man who left Charing Cross Hospital in 1884; the Medical Directory confirms Mortimer of Grimpen; a knock at the door. (The Hound of the Baskervilles, ch. 1; the spaniel is cut.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; the directory entry is read as written; no one speaks."
          },
          "next": [],
          "graphPosition": {
            "x": 860,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:sh-ep01:door",
      "displayName": "Mortimer",
      "startNodeId": "dlg:sh-ep01:door:line-1",
      "nodes": [
        {
          "nodeId": "dlg:sh-ep01:door:line-1",
          "displayName": "Mortimer 1/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Our visitor came through the door with his head thrust forward: very tall and thin, with a long nose like a beak, gold spectacles, a dingy frock coat and frayed trousers. He peered kindly at everything, then he saw the stick in my hand.",
          "intent": {
            "mustConveyFacts": [
              "Mortimer enters: tall, thin, long nose, spectacles",
              "he runs to his stick",
              "he would not lose that stick for the world"
            ],
            "beat": "Mortimer has just come through the 221B door; Holmes stands. Beat 2, inside the 221B door: Mortimer comes in, runs to his stick, and overturns the deduction (the presentation was for his marriage, which is why he left the hospital); introductions, Mister not Doctor, Holmes's skull coveted for a museum; Holmes waves him to a chair and asks what he wants. (The Hound of the Baskervilles, ch. 1.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Mortimer's relief is quoted, eager and a little breathless."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:door:line-2"
            }
          ],
          "graphPosition": {
            "x": 80,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:door:line-2",
          "displayName": "Mortimer 2/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "He ran to it. \"I would not lose that stick for the world!\" Holmes asked if it came from Charing Cross Hospital. \"From friends there, on my marriage. That is why I left.\" \"Come, come,\" said Holmes, \"we are not so far wrong, after all.\"",
          "intent": {
            "mustConveyFacts": [
              "the presentation was for Mortimer's marriage",
              "his marriage is why he left the hospital",
              "Holmes: come, come, we are not so far wrong, after all"
            ],
            "beat": "Mortimer has just come through the 221B door; Holmes stands. Beat 2, inside the 221B door: Mortimer comes in, runs to his stick, and overturns the deduction (the presentation was for his marriage, which is why he left the hospital); introductions, Mister not Doctor, Holmes's skull coveted for a museum; Holmes waves him to a chair and asks what he wants. (The Hound of the Baskervilles, ch. 1.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Holmes and Mortimer quoted in turn; Holmes amused at his own miss."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:door:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:door:line-3",
          "displayName": "Mortimer 3/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "\"And now, Dr James Mortimer,\" said Holmes. \"Mister, sir, Mister. A humble M.R.C.S., a dabbler in science.\" He turned to me. \"And this is—\" \"My friend Dr Watson.\" \"Glad to meet you, sir. I have heard your name.\"",
          "intent": {
            "mustConveyFacts": [
              "Mortimer is Mister, not Doctor, a humble M.R.C.S.",
              "Mortimer has heard Dr Watson's name",
              "Mortimer covets Holmes's skull for an anthropological museum and would like to run a finger along it"
            ],
            "beat": "Mortimer has just come through the 221B door; Holmes stands. Beat 2, inside the 221B door: Mortimer comes in, runs to his stick, and overturns the deduction (the presentation was for his marriage, which is why he left the hospital); introductions, Mister not Doctor, Holmes's skull coveted for a museum; Holmes waves him to a chair and asks what he wants. (The Hound of the Baskervilles, ch. 1.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Mortimer quoted, scientific and a little morbid."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:door:line-4"
            }
          ],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:door:line-4",
          "displayName": "Mortimer 4/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Then he stared at Holmes's head. \"What a skull, Mr Holmes. I covet it. May I run a finger along it?\" Holmes waved him to a chair. \"You did not call twice to examine my skull. Tell me plainly what the problem is.\"",
          "intent": {
            "mustConveyFacts": [
              "Holmes waves Mortimer to a chair",
              "Holmes asks what Mortimer wants"
            ],
            "beat": "Mortimer has just come through the 221B door; Holmes stands. Beat 2, inside the 221B door: Mortimer comes in, runs to his stick, and overturns the deduction (the presentation was for his marriage, which is why he left the hospital); introductions, Mister not Doctor, Holmes's skull coveted for a museum; Holmes waves him to a chair and asks what he wants. (The Hound of the Baskervilles, ch. 1.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Holmes quoted, brisk."
          },
          "next": [],
          "graphPosition": {
            "x": 860,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:sh-ep01:legend",
      "displayName": "The legend",
      "startNodeId": "dlg:sh-ep01:legend:line-1",
      "nodes": [
        {
          "nodeId": "dlg:sh-ep01:legend:line-1",
          "displayName": "The legend 1/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Mortimer took an old paper from his breast pocket. \"I put that at 1730,\" said Holmes, from the inch that showed. \"It is 1742,\" said Mortimer. Holmes leaned back in his chair and shut his eyes.",
          "intent": {
            "mustConveyFacts": [
              "Mortimer carries an old manuscript in his breast pocket",
              "Holmes dated it at 1730 from the inch that showed",
              "the manuscript is of 1742",
              "Holmes listens with his eyes shut"
            ],
            "beat": "Beat 3, the fireside armchair: Mortimer's manuscript of 1742 (Holmes put it at 1730 from the inch that showed); Holmes leans back, eyes shut, and Mortimer reads the legend of Hugo Baskerville, the yeoman's daughter who fled across the moor, the Powers of Evil, the maiden dead of fear between two old stones, and over Hugo the great black glowing thing tearing out his throat, the gloam; the counsel to his sons; Holmes yawns. (The Hound of the Baskervilles, ch. 2; the hunting pack is dropped, the beast is a gloam.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Holmes and Mortimer quoted briefly."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:legend:line-2"
            }
          ],
          "graphPosition": {
            "x": 80,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:legend:line-2",
          "displayName": "The legend 2/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Mortimer read. Hugo Baskerville was wild and godless. One Michaelmas he carried off a farmer's daughter to the Hall. She climbed down the ivy and ran away across the moor. Hugo swore his soul to the Powers of Evil, and rode after her.",
          "intent": {
            "mustConveyFacts": [
              "Hugo Baskerville was wild and godless",
              "one Michaelmas he carried off a yeoman's daughter",
              "she climbed down the ivy and fled across the moor",
              "Hugo swore his soul to the Powers of Evil and rode after her"
            ],
            "beat": "Beat 3, the fireside armchair: Mortimer's manuscript of 1742 (Holmes put it at 1730 from the inch that showed); Holmes leans back, eyes shut, and Mortimer reads the legend of Hugo Baskerville, the yeoman's daughter who fled across the moor, the Powers of Evil, the maiden dead of fear between two old stones, and over Hugo the great black glowing thing tearing out his throat, the gloam; the counsel to his sons; Holmes yawns. (The Hound of the Baskervilles, ch. 2; the hunting pack is dropped, the beast is a gloam.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Watson retells what Mortimer reads; the legend's voice, not Mortimer's."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:legend:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:legend:line-3",
          "displayName": "The legend 3/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "They found the girl in a clearing between two old stones, dead of fear. Hugo lay beside her. And over Hugo stood a great black glowing thing, tearing out his throat. The gloam.",
          "intent": {
            "mustConveyFacts": [
              "the maiden lay dead of fear in a clearing between two old stones",
              "Hugo lay beside her",
              "over Hugo a great black glowing thing tore out his throat",
              "the thing is the gloam"
            ],
            "beat": "Beat 3, the fireside armchair: Mortimer's manuscript of 1742 (Holmes put it at 1730 from the inch that showed); Holmes leans back, eyes shut, and Mortimer reads the legend of Hugo Baskerville, the yeoman's daughter who fled across the moor, the Powers of Evil, the maiden dead of fear between two old stones, and over Hugo the great black glowing thing tearing out his throat, the gloam; the counsel to his sons; Holmes yawns. (The Hound of the Baskervilles, ch. 2; the hunting pack is dropped, the beast is a gloam.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Watson retells the legend; the gloam is named once, plainly."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:legend:line-4"
            }
          ],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:legend:line-4",
          "displayName": "The legend 4/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "The paper ended with a warning to his sons: do not cross the moor in the dark hours, when the powers of evil are strong. Holmes yawned. \"Interesting,\" he said, \"to a collector of fairy tales.\"",
          "intent": {
            "mustConveyFacts": [
              "the counsel to his sons: forbear from crossing the moor in the dark hours when the powers of evil are exalted",
              "Holmes yawns",
              "Holmes finds it interesting to a collector of fairy tales"
            ],
            "beat": "Beat 3, the fireside armchair: Mortimer's manuscript of 1742 (Holmes put it at 1730 from the inch that showed); Holmes leans back, eyes shut, and Mortimer reads the legend of Hugo Baskerville, the yeoman's daughter who fled across the moor, the Powers of Evil, the maiden dead of fear between two old stones, and over Hugo the great black glowing thing tearing out his throat, the gloam; the counsel to his sons; Holmes yawns. (The Hound of the Baskervilles, ch. 2; the hunting pack is dropped, the beast is a gloam.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Holmes quoted, bored."
          },
          "next": [],
          "graphPosition": {
            "x": 860,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:sh-ep01:death",
      "displayName": "The death",
      "startNodeId": "dlg:sh-ep01:death:line-1",
      "nodes": [
        {
          "nodeId": "dlg:sh-ep01:death:line-1",
          "displayName": "The death 1/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "On the tea table lay the Devon County Chronicle of May 14th. I read it. Sir Charles Baskerville, back from South Africa with a fortune, generous, childless, weak of heart, walked the yew alley every night before bed.",
          "intent": {
            "mustConveyFacts": [
              "the newspaper is the Devon County Chronicle of May 14th",
              "Sir Charles Baskerville came back from South Africa with a fortune",
              "he was generous, childless and weak of heart",
              "he walked the yew alley every night"
            ],
            "beat": "Beat 4, the round tea table where the newspaper lies: the Devon County Chronicle of May 14th on Sir Charles Baskerville's death in the yew alley, Barrymore, the hall door open at midnight, the footprints changed at the moor-gate as if on his toes, a gipsy's cries, the distorted face, the coroner's verdict of his heart; then the private fact Mortimer kept from the inquest, in a whisper: the footprints of a gigantic gloam. (The Hound of the Baskervilles, ch. 2; the paper on the table is staging.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Watson reads the paper; no one speaks."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:death:line-2"
            }
          ],
          "graphPosition": {
            "x": 80,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:death:line-2",
          "displayName": "The death 2/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "On the night before he was to leave for London, he did not come back. At midnight Barrymore found the hall door open, and the body at the far end of the alley. A gipsy heard cries. The coroner said: his heart.",
          "intent": {
            "mustConveyFacts": [
              "on the night before he was to leave for London he did not come back",
              "Barrymore found the hall door open at midnight and the body at the far end of the alley",
              "a gipsy heard cries",
              "the coroner said his heart"
            ],
            "beat": "Beat 4, the round tea table where the newspaper lies: the Devon County Chronicle of May 14th on Sir Charles Baskerville's death in the yew alley, Barrymore, the hall door open at midnight, the footprints changed at the moor-gate as if on his toes, a gipsy's cries, the distorted face, the coroner's verdict of his heart; then the private fact Mortimer kept from the inquest, in a whisper: the footprints of a gigantic gloam. (The Hound of the Baskervilles, ch. 2; the paper on the table is staging.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Watson reads the paper; no one speaks."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:death:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:death:line-3",
          "displayName": "The death 3/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "\"His footprints changed at the moor-gate,\" said Mortimer, \"as if he walked on his toes. And his face was so twisted that I hardly knew him.\"",
          "intent": {
            "mustConveyFacts": [
              "the footprints changed at the moor-gate as if he walked on his toes",
              "the face was so distorted Mortimer barely knew him"
            ],
            "beat": "Beat 4, the round tea table where the newspaper lies: the Devon County Chronicle of May 14th on Sir Charles Baskerville's death in the yew alley, Barrymore, the hall door open at midnight, the footprints changed at the moor-gate as if on his toes, a gipsy's cries, the distorted face, the coroner's verdict of his heart; then the private fact Mortimer kept from the inquest, in a whisper: the footprints of a gigantic gloam. (The Hound of the Baskervilles, ch. 2; the paper on the table is staging.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Mortimer quoted, shaken."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:death:line-4"
            }
          ],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:death:line-4",
          "displayName": "The death 4/4",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Then Mortimer told us the thing he had kept from the inquest. His voice dropped to a whisper. \"Some twenty yards from the body, fresh and clear, were the footprints of a gigantic gloam.\"",
          "intent": {
            "mustConveyFacts": [
              "Mortimer kept one fact from the inquest",
              "some twenty yards from the body were fresh, clear footprints",
              "the footprints were those of a gigantic gloam"
            ],
            "beat": "Beat 4, the round tea table where the newspaper lies: the Devon County Chronicle of May 14th on Sir Charles Baskerville's death in the yew alley, Barrymore, the hall door open at midnight, the footprints changed at the moor-gate as if on his toes, a gipsy's cries, the distorted face, the coroner's verdict of his heart; then the private fact Mortimer kept from the inquest, in a whisper: the footprints of a gigantic gloam. (The Hound of the Baskervilles, ch. 2; the paper on the table is staging.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Mortimer quoted in a whisper."
          },
          "next": [],
          "graphPosition": {
            "x": 860,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    },
    {
      "definitionId": "dlg:sh-ep01:window",
      "displayName": "Sir Henry is coming",
      "startNodeId": "dlg:sh-ep01:window:line-1",
      "nodes": [
        {
          "nodeId": "dlg:sh-ep01:window:line-1",
          "displayName": "Sir Henry is coming 1/5",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Holmes asked his questions. Yew hedges twelve feet high; a walk eight feet across, with grass on either side; one wicket-gate to the moor, four feet high, closed and padlocked. The marks were on the gate's side of the path.",
          "intent": {
            "mustConveyFacts": [
              "the yew hedges are twelve feet high",
              "the walk is eight feet across with grass either side",
              "one wicket-gate leads to the moor, four feet high, closed and padlocked",
              "the marks were on the gate's side of the path"
            ],
            "beat": "Beat 5, the window, after beats 1 to 4: Holmes's questions about the yew alley, the wicket-gate, the marks, the cigar ash, the luminous creature seen by three people; Mortimer wants advice about the heir, Sir Henry, landed at Southampton this morning and due at Waterloo; Holmes: meet him, tell him nothing, bring him at ten tomorrow; then, to the player, the shag from Bradley's and do not come back before evening; the card's own last thought, moved earlier from the text's evening: he was running for his life; a legend, a death, a trail to the moors. (The Hound of the Baskervilles, ch. 3.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Watson summarises Holmes's questions and Mortimer's answers; no one is quoted."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:window:line-2"
            }
          ],
          "graphPosition": {
            "x": 80,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:window:line-2",
          "displayName": "Sir Henry is coming 2/5",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "Sir Charles had stood at the gate for five or ten minutes; twice he had dropped his cigar ash. And before the death, three people had seen a huge luminous creature on the moor. None since.",
          "intent": {
            "mustConveyFacts": [
              "Sir Charles stood at the gate five or ten minutes",
              "he dropped his cigar ash twice",
              "three people saw a huge luminous creature on the moor before the death",
              "none has seen it since"
            ],
            "beat": "Beat 5, the window, after beats 1 to 4: Holmes's questions about the yew alley, the wicket-gate, the marks, the cigar ash, the luminous creature seen by three people; Mortimer wants advice about the heir, Sir Henry, landed at Southampton this morning and due at Waterloo; Holmes: meet him, tell him nothing, bring him at ten tomorrow; then, to the player, the shag from Bradley's and do not come back before evening; the card's own last thought, moved earlier from the text's evening: he was running for his life; a legend, a death, a trail to the moors. (The Hound of the Baskervilles, ch. 3.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Watson summarises; no one is quoted."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:window:line-3"
            }
          ],
          "graphPosition": {
            "x": 340,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:window:line-3",
          "displayName": "Sir Henry is coming 3/5",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "\"I do not want the death investigated,\" said Mortimer. \"I want advice. The heir, Sir Henry, was farming in Canada. He landed at Southampton this morning. He reaches Waterloo in little over an hour.\"",
          "intent": {
            "mustConveyFacts": [
              "Mortimer does not want the death investigated; he wants advice",
              "the heir is Sir Henry, found farming in Canada",
              "Sir Henry landed at Southampton this morning",
              "Sir Henry reaches Waterloo in little over an hour"
            ],
            "beat": "Beat 5, the window, after beats 1 to 4: Holmes's questions about the yew alley, the wicket-gate, the marks, the cigar ash, the luminous creature seen by three people; Mortimer wants advice about the heir, Sir Henry, landed at Southampton this morning and due at Waterloo; Holmes: meet him, tell him nothing, bring him at ten tomorrow; then, to the player, the shag from Bradley's and do not come back before evening; the card's own last thought, moved earlier from the text's evening: he was running for his life; a legend, a death, a trail to the moors. (The Hound of the Baskervilles, ch. 3.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Mortimer quoted, frightened for Sir Henry."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:window:line-4"
            }
          ],
          "graphPosition": {
            "x": 600,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:window:line-4",
          "displayName": "Sir Henry is coming 4/5",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "\"Meet him,\" said Holmes. \"Tell him nothing. Bring him here at ten tomorrow.\" Then, to me: \"Watson, a pound of the strongest shag from Bradley's. And do not come back before evening.\"",
          "intent": {
            "mustConveyFacts": [
              "Holmes: meet Sir Henry, tell him nothing, bring him here at ten tomorrow",
              "Holmes sends the player for a pound of the strongest shag from Bradley's",
              "Holmes: do not come back before evening"
            ],
            "beat": "Beat 5, the window, after beats 1 to 4: Holmes's questions about the yew alley, the wicket-gate, the marks, the cigar ash, the luminous creature seen by three people; Mortimer wants advice about the heir, Sir Henry, landed at Southampton this morning and due at Waterloo; Holmes: meet him, tell him nothing, bring him at ten tomorrow; then, to the player, the shag from Bradley's and do not come back before evening; the card's own last thought, moved earlier from the text's evening: he was running for his life; a legend, a death, a trail to the moors. (The Hound of the Baskervilles, ch. 3.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; Holmes quoted, brisk, addressing the player as Watson."
          },
          "next": [
            {
              "targetNodeId": "dlg:sh-ep01:window:line-5"
            }
          ],
          "graphPosition": {
            "x": 860,
            "y": 80
          }
        },
        {
          "nodeId": "dlg:sh-ep01:window:line-5",
          "displayName": "Sir Henry is coming 5/5",
          "speakerId": "minis:npc:holmes",
          "speakerLabel": "Watson",
          "text": "I took my hat. One thought would not leave me. He was not walking on his toes. He was running, running for his life, away from the house. A legend, a death, and a trail to the moors.",
          "intent": {
            "mustConveyFacts": [
              "he was not walking on his toes; he was running for his life, away from the house",
              "a legend, a death, a trail to the moors"
            ],
            "beat": "Beat 5, the window, after beats 1 to 4: Holmes's questions about the yew alley, the wicket-gate, the marks, the cigar ash, the luminous creature seen by three people; Mortimer wants advice about the heir, Sir Henry, landed at Southampton this morning and due at Waterloo; Holmes: meet him, tell him nothing, bring him at ten tomorrow; then, to the player, the shag from Bradley's and do not come back before evening; the card's own last thought, moved earlier from the text's evening: he was running for his life; a legend, a death, a trail to the moors. (The Hound of the Baskervilles, ch. 3.)",
            "voiceNote": "Watson narrating in the first person, plain and steady, a doctor's eye; the card's own last thought; no one speaks."
          },
          "next": [],
          "graphPosition": {
            "x": 1120,
            "y": 80
          }
        }
      ],
      "groups": [],
      "interactionBinding": {
        "npcDefinitionId": null
      }
    }
  ],
  "questDefinitions": [
    {
      "definitionId": "quest:pp-ep01:beats",
      "displayName": "Episode 1: A Gentleman Has Taken Netherfield",
      "description": "The five scripted beats of the Longbourn sitting room, each an arrival on its area followed by the family's lines; the window waits for the other four.",
      "startStageId": "stage:pp-ep01:sitting-room",
      "stageDefinitions": [
        {
          "stageId": "stage:pp-ep01:sitting-room",
          "displayName": "The sitting room",
          "nextStageId": null,
          "timeOfDay": null,
          "nodeDefinitions": [
            {
              "nodeId": "node:pp-ep01:arrive-news",
              "displayName": "Arrive: The news",
              "description": "The player walks into area:beat-news-doorway.",
              "nodeBehavior": "objective",
              "objectiveSubtype": "location",
              "targetAreaId": "area:beat-news-doorway",
              "count": 1,
              "optional": false,
              "autoStart": false,
              "prerequisiteNodeIds": [],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 80,
                "y": 80
              }
            },
            {
              "nodeId": "node:pp-ep01:play-news",
              "displayName": "Play: The news",
              "description": "Starts dialogue dlg:pp-ep01:news.",
              "nodeBehavior": "narrative",
              "narrativeSubtype": "dialogue",
              "count": 1,
              "optional": false,
              "dialogueDefinitionId": "dlg:pp-ep01:news",
              "autoStart": false,
              "prerequisiteNodeIds": [
                "node:pp-ep01:arrive-news"
              ],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 380,
                "y": 80
              }
            },
            {
              "nodeId": "node:pp-ep01:arrive-campaign",
              "displayName": "Arrive: The campaign",
              "description": "The player walks into area:beat-tea-table.",
              "nodeBehavior": "objective",
              "objectiveSubtype": "location",
              "targetAreaId": "area:beat-tea-table",
              "count": 1,
              "optional": false,
              "autoStart": false,
              "prerequisiteNodeIds": [],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 80,
                "y": 240
              }
            },
            {
              "nodeId": "node:pp-ep01:play-campaign",
              "displayName": "Play: The campaign",
              "description": "Starts dialogue dlg:pp-ep01:campaign.",
              "nodeBehavior": "narrative",
              "narrativeSubtype": "dialogue",
              "count": 1,
              "optional": false,
              "dialogueDefinitionId": "dlg:pp-ep01:campaign",
              "autoStart": false,
              "prerequisiteNodeIds": [
                "node:pp-ep01:arrive-campaign"
              ],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 380,
                "y": 240
              }
            },
            {
              "nodeId": "node:pp-ep01:arrive-tease",
              "displayName": "Arrive: The tease",
              "description": "The player walks into area:beat-bennet-armchair.",
              "nodeBehavior": "objective",
              "objectiveSubtype": "location",
              "targetAreaId": "area:beat-bennet-armchair",
              "count": 1,
              "optional": false,
              "autoStart": false,
              "prerequisiteNodeIds": [],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 80,
                "y": 400
              }
            },
            {
              "nodeId": "node:pp-ep01:play-tease",
              "displayName": "Play: The tease",
              "description": "Starts dialogue dlg:pp-ep01:tease.",
              "nodeBehavior": "narrative",
              "narrativeSubtype": "dialogue",
              "count": 1,
              "optional": false,
              "dialogueDefinitionId": "dlg:pp-ep01:tease",
              "autoStart": false,
              "prerequisiteNodeIds": [
                "node:pp-ep01:arrive-tease"
              ],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 380,
                "y": 400
              }
            },
            {
              "nodeId": "node:pp-ep01:arrive-already-gone",
              "displayName": "Arrive: He has already gone",
              "description": "The player walks into area:beat-fireplace.",
              "nodeBehavior": "objective",
              "objectiveSubtype": "location",
              "targetAreaId": "area:beat-fireplace",
              "count": 1,
              "optional": false,
              "autoStart": false,
              "prerequisiteNodeIds": [],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 80,
                "y": 560
              }
            },
            {
              "nodeId": "node:pp-ep01:play-already-gone",
              "displayName": "Play: He has already gone",
              "description": "Starts dialogue dlg:pp-ep01:already-gone.",
              "nodeBehavior": "narrative",
              "narrativeSubtype": "dialogue",
              "count": 1,
              "optional": false,
              "dialogueDefinitionId": "dlg:pp-ep01:already-gone",
              "autoStart": false,
              "prerequisiteNodeIds": [
                "node:pp-ep01:arrive-already-gone"
              ],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 380,
                "y": 560
              }
            },
            {
              "nodeId": "node:pp-ep01:arrive-blue-coat",
              "displayName": "Arrive: The blue coat",
              "description": "The player walks into area:beat-window.",
              "nodeBehavior": "objective",
              "objectiveSubtype": "location",
              "targetAreaId": "area:beat-window",
              "count": 1,
              "optional": false,
              "autoStart": false,
              "prerequisiteNodeIds": [
                "node:pp-ep01:play-news",
                "node:pp-ep01:play-campaign",
                "node:pp-ep01:play-tease",
                "node:pp-ep01:play-already-gone"
              ],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 80,
                "y": 720
              }
            },
            {
              "nodeId": "node:pp-ep01:play-blue-coat",
              "displayName": "Play: The blue coat",
              "description": "Starts dialogue dlg:pp-ep01:blue-coat.",
              "nodeBehavior": "narrative",
              "narrativeSubtype": "dialogue",
              "count": 1,
              "optional": false,
              "dialogueDefinitionId": "dlg:pp-ep01:blue-coat",
              "autoStart": false,
              "prerequisiteNodeIds": [
                "node:pp-ep01:arrive-blue-coat"
              ],
              "failTargetNodeIds": [],
              "onEnterActions": [],
              "onCompleteActions": [],
              "showInHud": false,
              "graphPosition": {
                "x": 380,
                "y": 720
              }
            }
          ],
          "groups": [],
          "entryNodeIds": [
            "node:pp-ep01:arrive-news",
            "node:pp-ep01:arrive-campaign",
            "node:pp-ep01:arrive-tease",
            "node:pp-ep01:arrive-already-gone"
          ]
        }
      ],
      "rewardDefinitions": []
    }
  ],
  "menuDefinitions": [
    {
      "definitionId": "minis:menu:start",
      "definitionKind": "menu",
      "displayName": "Start Menu",
      "menuKey": "start-menu",
      "root": {
        "nodeId": "minis:ui:start-menu:root",
        "kind": "container",
        "styleId": "panel",
        "layout": {
          "direction": "column",
          "gap": 18,
          "padding": 36,
          "align": "stretch",
          "justify": "center",
          "width": 420,
          "height": "auto"
        },
        "anchor": null,
        "props": {},
        "events": {},
        "children": [
          {
            "nodeId": "minis:ui:start-menu:title",
            "kind": "text",
            "styleId": "heading",
            "layout": {
              "direction": "column",
              "gap": 12,
              "padding": 16,
              "align": "center",
              "justify": "center",
              "width": "auto",
              "height": "auto"
            },
            "anchor": null,
            "props": {
              "text": {
                "kind": "literal",
                "value": "Sugarmagic"
              }
            },
            "events": {},
            "children": [],
            "visibility": "always"
          },
          {
            "nodeId": "minis:ui:start-menu:new-game",
            "kind": "button",
            "styleId": "button-primary",
            "layout": {
              "direction": "column",
              "gap": 12,
              "padding": 14,
              "align": "center",
              "justify": "center",
              "width": "fill",
              "height": "auto"
            },
            "anchor": null,
            "props": {
              "text": {
                "kind": "literal",
                "value": "New Game"
              }
            },
            "events": {
              "onClick": {
                "action": "start-new-game"
              }
            },
            "children": [],
            "visibility": "always"
          },
          {
            "nodeId": "minis:ui:start-menu:episodes",
            "kind": "button",
            "styleId": "button-primary",
            "layout": {
              "direction": "column",
              "gap": 12,
              "padding": 14,
              "align": "center",
              "justify": "center",
              "width": "fill",
              "height": "auto"
            },
            "anchor": null,
            "props": {
              "text": {
                "kind": "literal",
                "value": "Episodes"
              }
            },
            "events": {
              "onClick": {
                "action": "open-episodes"
              }
            },
            "children": [],
            "visibility": "always"
          },
          {
            "nodeId": "minis:ui:start-menu:settings",
            "kind": "button",
            "styleId": "button-primary",
            "layout": {
              "direction": "column",
              "gap": 12,
              "padding": 14,
              "align": "center",
              "justify": "center",
              "width": "fill",
              "height": "auto"
            },
            "anchor": null,
            "props": {
              "text": {
                "kind": "literal",
                "value": "Settings"
              }
            },
            "events": {},
            "children": [],
            "visibility": "always"
          },
          {
            "nodeId": "minis:ui:start-menu:exit",
            "kind": "button",
            "styleId": "button-primary",
            "layout": {
              "direction": "column",
              "gap": 12,
              "padding": 14,
              "align": "center",
              "justify": "center",
              "width": "fill",
              "height": "auto"
            },
            "anchor": null,
            "props": {
              "text": {
                "kind": "literal",
                "value": "Exit"
              }
            },
            "events": {
              "onClick": {
                "action": "exit-to-site"
              }
            },
            "children": [],
            "visibility": "always"
          }
        ],
        "visibility": "always"
      }
    },
    {
      "definitionId": "minis:menu:pause",
      "definitionKind": "menu",
      "displayName": "Pause Menu",
      "menuKey": "pause-menu",
      "root": {
        "nodeId": "minis:ui:pause-menu:root",
        "kind": "container",
        "styleId": "panel",
        "layout": {
          "direction": "column",
          "gap": 16,
          "padding": 32,
          "align": "stretch",
          "justify": "center",
          "width": 360,
          "height": "auto"
        },
        "anchor": null,
        "props": {},
        "events": {},
        "children": [
          {
            "nodeId": "minis:ui:pause-menu:title",
            "kind": "text",
            "styleId": "heading",
            "layout": {
              "direction": "column",
              "gap": 12,
              "padding": 16,
              "align": "center",
              "justify": "center",
              "width": "auto",
              "height": "auto"
            },
            "anchor": null,
            "props": {
              "text": {
                "kind": "literal",
                "value": "Paused"
              }
            },
            "events": {},
            "children": [],
            "visibility": "always"
          },
          {
            "nodeId": "minis:ui:pause-menu:resume",
            "kind": "button",
            "styleId": "button-primary",
            "layout": {
              "direction": "column",
              "gap": 12,
              "padding": 14,
              "align": "center",
              "justify": "center",
              "width": "fill",
              "height": "auto"
            },
            "anchor": null,
            "props": {
              "text": {
                "kind": "literal",
                "value": "Resume"
              }
            },
            "events": {
              "onClick": {
                "action": "resume-game"
              }
            },
            "children": [],
            "visibility": "always"
          },
          {
            "nodeId": "minis:ui:pause-menu:quit",
            "kind": "button",
            "styleId": "button-primary",
            "layout": {
              "direction": "column",
              "gap": 12,
              "padding": 14,
              "align": "center",
              "justify": "center",
              "width": "fill",
              "height": "auto"
            },
            "anchor": null,
            "props": {
              "text": {
                "kind": "literal",
                "value": "Main Menu"
              }
            },
            "events": {
              "onClick": {
                "action": "quit-to-menu"
              }
            },
            "children": [],
            "visibility": "always"
          }
        ],
        "visibility": "always"
      }
    }
  ],
  "hudDefinition": {
    "definitionId": "minis:hud:default",
    "definitionKind": "hud",
    "root": {
      "nodeId": "minis:ui:hud:root",
      "kind": "container",
      "styleId": null,
      "layout": {
        "direction": "column",
        "gap": 12,
        "padding": 20,
        "align": "start",
        "justify": "start",
        "width": "fill",
        "height": "fill"
      },
      "anchor": null,
      "props": {},
      "events": {},
      "children": [
        {
          "nodeId": "minis:ui:hud:bottom-bar",
          "kind": "container",
          "styleId": null,
          "layout": {
            "direction": "row",
            "gap": 12,
            "padding": 0,
            "align": "center",
            "justify": "center",
            "width": "auto",
            "height": "auto"
          },
          "anchor": "bottom-center",
          "props": {},
          "events": {},
          "children": [
            {
              "nodeId": "minis:ui:hud:inventory",
              "kind": "button",
              "styleId": "button-hud",
              "layout": {
                "direction": "column",
                "gap": 12,
                "padding": 8,
                "align": "center",
                "justify": "center",
                "width": "auto",
                "height": "auto"
              },
              "anchor": null,
              "props": {
                "text": {
                  "kind": "literal",
                  "value": "🎒"
                }
              },
              "events": {
                "onClick": {
                  "action": "open-inventory"
                }
              },
              "children": [],
              "visibility": "always"
            },
            {
              "nodeId": "minis:ui:hud:caster",
              "kind": "button",
              "styleId": "button-hud",
              "layout": {
                "direction": "column",
                "gap": 12,
                "padding": 8,
                "align": "center",
                "justify": "center",
                "width": "auto",
                "height": "auto"
              },
              "anchor": null,
              "props": {
                "text": {
                  "kind": "literal",
                  "value": "✨"
                }
              },
              "events": {
                "onClick": {
                  "action": "open-caster"
                }
              },
              "children": [],
              "visibility": "always"
            },
            {
              "nodeId": "minis:ui:hud:main",
              "kind": "button",
              "styleId": "button-hud",
              "layout": {
                "direction": "column",
                "gap": 12,
                "padding": 8,
                "align": "center",
                "justify": "center",
                "width": "auto",
                "height": "auto"
              },
              "anchor": null,
              "props": {
                "text": {
                  "kind": "literal",
                  "value": "🏠"
                }
              },
              "events": {
                "onClick": {
                  "action": "quit-to-menu"
                }
              },
              "children": [],
              "visibility": "always"
            }
          ],
          "visibility": "always"
        }
      ],
      "visibility": "always"
    }
  },
  "uiTheme": {
    "tokens": {
      "color.text": "#f6f1ff",
      "color.muted": "#beb7d8",
      "color.surface": "rgba(18, 18, 32, 0.82)",
      "color.surfaceStrong": "rgba(29, 29, 52, 0.92)",
      "color.surfaceMuted": "rgba(15, 17, 28, 0.45)",
      "color.primary": "#ff4aa2",
      "color.primaryText": "#fff7fb",
      "font.body": "Avenir Next, Nunito, sans-serif",
      "font.heading": "Georgia, ui-serif, serif",
      "radius.panel": "24px",
      "radius.button": "999px"
    },
    "styles": [
      {
        "styleId": "panel",
        "displayName": "Panel",
        "properties": {
          "color": "color.text",
          "background": "color.surface",
          "fontFamily": "font.body",
          "borderRadius": "radius.panel",
          "borderColor": "rgba(255, 255, 255, 0.16)",
          "borderWidth": "1px"
        }
      },
      {
        "styleId": "heading",
        "displayName": "Heading",
        "properties": {
          "color": "color.text",
          "fontFamily": "font.heading",
          "fontSize": "44px",
          "fontWeight": "700"
        }
      },
      {
        "styleId": "body",
        "displayName": "Body",
        "properties": {
          "color": "color.text",
          "fontFamily": "font.body",
          "fontSize": "16px"
        }
      },
      {
        "styleId": "button-primary",
        "displayName": "Primary Button",
        "properties": {
          "color": "color.primaryText",
          "background": "color.primary",
          "fontFamily": "font.body",
          "fontSize": "16px",
          "fontWeight": "700",
          "borderRadius": "radius.button"
        }
      },
      {
        "styleId": "button-hud",
        "displayName": "HUD Button",
        "properties": {
          "color": "color.text",
          "background": "color.surfaceMuted",
          "fontFamily": "font.body",
          "fontSize": "22px",
          "fontWeight": "500",
          "borderRadius": "12px",
          "borderColor": "rgba(255, 255, 255, 0.12)",
          "borderWidth": "1px"
        }
      }
    ]
  },
  "soundEventBindings": {
    "game.menu-open": null,
    "game.menu-close": null,
    "ui.click": null,
    "ui.hover": null,
    "player.footstep": null,
    "item.pickup": null,
    "interaction.activate": null,
    "spell.cast-success": null,
    "spell.cast-fail": null,
    "quest.reward": null
  },
  "audioMixer": {
    "master": 1,
    "music": 0.7,
    "sfx": 1,
    "ambient": 0.5,
    "ui": 1,
    "voice": 1
  },
  "musicBindings": {
    "menuMusicId": null,
    "defaultBackgroundMusicId": null,
    "creditsThemeMusicId": null
  },
  "creditsDefinition": {
    "sections": []
  },
  "gameTitle": "Minis",
  "assetSources": {
    "assets/sugarlang/cefrlex-es.json": "/assets/sugarlang/cefrlex-es.json?v=5cba8d18b8b3",
    "assets/sugarlang/cefrlex-it.json": "/assets/sugarlang/cefrlex-it.json?v=8503a883ad2b",
    "assets/sugarlang/competency-inventory-es.json": "/assets/sugarlang/competency-inventory-es.json?v=ee4442924c33",
    "assets/sugarlang/competency-inventory-it.json": "/assets/sugarlang/competency-inventory-it.json?v=a469bf68bb1b",
    "assets/sugarlang/morphology-es.json": "/assets/sugarlang/morphology-es.json?v=0654994de438",
    "assets/sugarlang/morphology-it.json": "/assets/sugarlang/morphology-it.json?v=172aa878d8be",
    "assets/animations/cast-jane-idle.glb": "/assets/animations/cast-jane-idle.glb?v=e34b39507fe9",
    "assets/animations/cast-jane-run.glb": "/assets/animations/cast-jane-run.glb?v=95354e8486f7",
    "assets/animations/cast-jane-sit.glb": "/assets/animations/cast-jane-sit.glb?v=1d270ea39baa",
    "assets/animations/cast-jane-walk.glb": "/assets/animations/cast-jane-walk.glb?v=ec6cdafec513",
    "assets/animations/cast-lizzy-idle.glb": "/assets/animations/cast-lizzy-idle.glb?v=afebf5df28e0",
    "assets/animations/cast-lizzy-run.glb": "/assets/animations/cast-lizzy-run.glb?v=08601470b5ca",
    "assets/animations/cast-lizzy-sit.glb": "/assets/animations/cast-lizzy-sit.glb?v=cf0f0379d20a",
    "assets/animations/cast-lizzy-walk.glb": "/assets/animations/cast-lizzy-walk.glb?v=83a450bfa447",
    "assets/animations/cast-lydia-idle.glb": "/assets/animations/cast-lydia-idle.glb?v=f9128a7ba680",
    "assets/animations/cast-lydia-run.glb": "/assets/animations/cast-lydia-run.glb?v=ab98c0db9d45",
    "assets/animations/cast-lydia-sit.glb": "/assets/animations/cast-lydia-sit.glb?v=71dbc563f1b4",
    "assets/animations/cast-lydia-walk.glb": "/assets/animations/cast-lydia-walk.glb?v=010c31b04827",
    "assets/animations/cast-maid-idle.glb": "/assets/animations/cast-maid-idle.glb?v=a7e9bddc21de",
    "assets/animations/cast-maid-run.glb": "/assets/animations/cast-maid-run.glb?v=3927ef8c0120",
    "assets/animations/cast-maid-walk.glb": "/assets/animations/cast-maid-walk.glb?v=b8911ef7bfa3",
    "assets/animations/cast-mr-bennet-idle.glb": "/assets/animations/cast-mr-bennet-idle.glb?v=1e359dc38560",
    "assets/animations/cast-mr-bennet-run.glb": "/assets/animations/cast-mr-bennet-run.glb?v=c458a03e5931",
    "assets/animations/cast-mr-bennet-sit.glb": "/assets/animations/cast-mr-bennet-sit.glb?v=05f8e24ab2d7",
    "assets/animations/cast-mr-bennet-walk.glb": "/assets/animations/cast-mr-bennet-walk.glb?v=d868fbd0bc35",
    "assets/animations/cast-mrs-bennet-idle.glb": "/assets/animations/cast-mrs-bennet-idle.glb?v=14304ceb200a",
    "assets/animations/cast-mrs-bennet-run.glb": "/assets/animations/cast-mrs-bennet-run.glb?v=631b0cadce77",
    "assets/animations/cast-mrs-bennet-walk.glb": "/assets/animations/cast-mrs-bennet-walk.glb?v=22b2cd2cd9f0",
    "assets/assethub/fire-01.glb": "/assets/assethub/fire-01.glb?v=1fd7c8611fde",
    "assets/assethub/regency-tea-table.glb": "/assets/assethub/regency-tea-table.glb?v=e7ad95b8dbb9",
    "assets/blockout/armchair-large.glb": "/assets/blockout/armchair-large.glb?v=1de5614c2fac",
    "assets/blockout/armchair-small.glb": "/assets/blockout/armchair-small.glb?v=d3eda6bc0008",
    "assets/blockout/basket-yarn.glb": "/assets/blockout/basket-yarn.glb?v=7289e05a501c",
    "assets/blockout/bookcase.glb": "/assets/blockout/bookcase.glb?v=5c78919427e5",
    "assets/blockout/coal-scuttle.glb": "/assets/blockout/coal-scuttle.glb?v=b6228595b6e1",
    "assets/blockout/curtain-pair.glb": "/assets/blockout/curtain-pair.glb?v=aba0c480d79b",
    "assets/blockout/fireplace.glb": "/assets/blockout/fireplace.glb?v=e7cf20413f17",
    "assets/blockout/floor-planks.glb": "/assets/blockout/floor-planks.glb?v=0fe23407da9d",
    "assets/blockout/gobo-sash-window.png": "/assets/blockout/gobo-sash-window.png?v=54d84b9d38d6",
    "assets/blockout/lamp.glb": "/assets/blockout/lamp.glb?v=60d18c90095d",
    "assets/blockout/picture-frame.glb": "/assets/blockout/picture-frame.glb?v=d956224e7b3f",
    "assets/blockout/picture-landscape.glb": "/assets/blockout/picture-landscape.glb?v=c84f5a40b736",
    "assets/blockout/prop-newspaper-open.glb": "/assets/blockout/prop-newspaper-open.glb?v=98f8dd6e0d51",
    "assets/blockout/rug-rect.glb": "/assets/blockout/rug-rect.glb?v=c3a4296472bb",
    "assets/blockout/settee.glb": "/assets/blockout/settee.glb?v=43ac96a7c64e",
    "assets/blockout/side-table-round.glb": "/assets/blockout/side-table-round.glb?v=2cdbcd2336a3",
    "assets/blockout/side-table.glb": "/assets/blockout/side-table.glb?v=d2dc6de2c5f2",
    "assets/blockout/sideboard.glb": "/assets/blockout/sideboard.glb?v=095a718dacb3",
    "assets/blockout/sofa.glb": "/assets/blockout/sofa.glb?v=a96403137206",
    "assets/blockout/storybook.glb": "/assets/blockout/storybook.glb?v=7e1d6c5d68d1",
    "assets/blockout/tea-service.glb": "/assets/blockout/tea-service.glb?v=eae07bd8972b",
    "assets/blockout/vase-flowers.glb": "/assets/blockout/vase-flowers.glb?v=92b37e43c0c2",
    "assets/blockout/wall-doorway.glb": "/assets/blockout/wall-doorway.glb?v=228541b981fa",
    "assets/blockout/wall-windowed-sage.glb": "/assets/blockout/wall-windowed-sage.glb?v=175c67ec33bc",
    "assets/blockout/writing-desk.glb": "/assets/blockout/writing-desk.glb?v=3ad66bc39c32",
    "assets/character-models/cast-jane-rigged.glb": "/assets/character-models/cast-jane-rigged.glb?v=63ac600b7d50",
    "assets/character-models/cast-lizzy-rigged.glb": "/assets/character-models/cast-lizzy-rigged.glb?v=e51c131fbdfc",
    "assets/character-models/cast-lydia-rigged.glb": "/assets/character-models/cast-lydia-rigged.glb?v=5e8f87c3d9e0",
    "assets/character-models/cast-maid-rigged.glb": "/assets/character-models/cast-maid-rigged.glb?v=1fb73d887e2f",
    "assets/character-models/cast-mr-bennet-rigged.glb": "/assets/character-models/cast-mr-bennet-rigged.glb?v=57cb8cbedcb1",
    "assets/character-models/cast-mrs-bennet-rigged.glb": "/assets/character-models/cast-mrs-bennet-rigged.glb?v=203b85dccbb3",
    "assets/menu/book.webp": "/assets/menu/book.webp?v=f439b69fdd30",
    "assets/menu/glow.webp": "/assets/menu/glow.webp?v=565c5467acb5",
    "assets/menu/title-pride-and-prejudice.webp": "/assets/menu/title-pride-and-prejudice.webp?v=69f8d6cb24f3",
    "assets/polygon/town-book-group-04.glb": "/assets/polygon/town-book-group-04.glb?v=b305a9509c2a",
    "assets/polygon/town-book-group-06.glb": "/assets/polygon/town-book-group-06.glb?v=eacaacdcb2a3",
    "assets/polygon/town-chair-01.glb": "/assets/polygon/town-chair-01.glb?v=05f1db4ccdb7",
    "assets/polygon/town-plant-02.glb": "/assets/polygon/town-plant-02.glb?v=27e90478063c",
    "assets/sugarlang/scene-contexts.json": "/assets/sugarlang/scene-contexts.json?v=2ece60a8a605",
    "assets/sugarlang/variants.json": "/assets/sugarlang/variants.json?v=d0276ce724a8"
  },
  "defaultGameSavePayload": null
}
