{
  "format": "spatial-place/1",
  "id": "https://oddballcreatureclub.com/",
  "title": "Oddball Creature Club",
  "facade": {
    "format": "spatial-facade/1",
    "place": "https://oddballcreatureclub.com/",
    "name": "Oddball Creature Club",
    "tagline": "A cozy lodge for curious creature keepers",
    "footprint": "storefront",
    "preview": { "image": "assets/stickers/sasquatch-strut.webp" },
    "signage": { "text": "Oddball Creature Club" },
    "door": { "size": [1.0, 2.1] }
  },
  "requires": ["performance", "motion"],
  "budget": { "renderables": 320, "triangles": 600000, "textureBytes": 134217728, "lights": 2, "audioSources": 2 },
  "assets": {
    "lodge": { "kind": "gltf", "uri": "assets/lodge.glb", "lightmap": { "uri": "assets/lodge_lightmap.exr", "channel": 1 }, "probes": { "uri": "assets/lodge_probes.json" } },
    "sasquatch": { "kind": "gltf", "uri": "assets/sasquatch.glb" },
    "ogopogo": { "kind": "gltf", "uri": "assets/ogopogo.glb" },
    "salmon": { "kind": "gltf", "uri": "assets/salmon.glb" },
    "slug": { "kind": "gltf", "uri": "assets/slug.glb" },
    "art-strut": { "kind": "image", "uri": "assets/stickers/sasquatch-strut.webp", "dpi": 256 },
    "art-believe": { "kind": "image", "uri": "assets/stickers/noone-believe.webp", "dpi": 256 },
    "art-slug": { "kind": "image", "uri": "assets/stickers/slugworth.webp", "dpi": 256 },
    "art-salmon": { "kind": "image", "uri": "assets/stickers/zombie-salmon.webp", "dpi": 256 },
    "art-ogopogo": { "kind": "image", "uri": "assets/stickers/ogopogo.webp", "dpi": 256 },
    "art-boo": { "kind": "image", "uri": "assets/stickers/boo-bees.webp", "dpi": 256 },
    "art-ghost": { "kind": "image", "uri": "assets/stickers/ghost-prost.webp", "dpi": 256 },
    "forest-bed": { "kind": "audio", "uri": "assets/audio/forest-bed.wav" },
    "water-sound": { "kind": "audio", "uri": "assets/audio/water.wav" }
  },
  "collision": {
    "walkable": [{ "asset": "lodge", "nodes": "COL_WALK_*" }],
    "blockers": [{ "asset": "lodge", "nodes": "COL_BLOCK_*" }],
    "stepHeight": 0.3,
    "maxSlope": 35
  },
  "territories": [
    { "id": "porch", "label": "The lodge porch", "order": 0, "bounds": { "node": "lodge#VOL_porch" }, "linear": { "text": "A wooden porch under a roof. The trailhead map is just inside the door." } },
    { "id": "clearing", "label": "The Sasquatch clearing", "order": 1, "bounds": { "node": "lodge#VOL_clearing" }, "linear": { "text": "Sasquatch, life-size and mid-strut, lit like the forest exists for him. Two stumps hold his stickers." } },
    { "id": "forest-floor", "label": "Slugworth's forest floor", "order": 2, "bounds": { "node": "lodge#VOL_forest_floor" }, "linear": { "text": "Mushrooms, fallen logs, and stickers sprouting from the bark. Slugworth inches along at heroic scale." } },
    { "id": "salmon-run", "label": "The Zombie Salmon run", "order": 3, "bounds": { "node": "lodge#VOL_salmon_run" }, "linear": { "text": "The stream narrows over rocks; salmon push upstream." } },
    { "id": "pool", "label": "Ogopogo's pool", "order": 4, "bounds": { "node": "lodge#VOL_pool" }, "linear": { "text": "A dark pool where the guardian of Lake Okanagan surfaces when someone comes close." } },
    { "id": "glade", "label": "The twilight glade", "order": 5, "bounds": { "node": "lodge#VOL_glade" }, "linear": { "text": "The spooky seasonal corner: Boo Bees around a hive, the Ghost with the Prost, and the arcade cabinet." } },
    { "id": "counter", "label": "The lodge counter", "order": 6, "bounds": { "node": "lodge#VOL_counter" }, "linear": { "text": "Set a specimen on the counter to take it home; the browser handles the handoff to Etsy." } },
    { "id": "archive", "label": "The field archive", "order": 7, "bounds": { "node": "lodge#VOL_archive" }, "linear": { "text": "Specimen drawers holding the full catalog." } }
  ],
  "entities": [
    { "id": "lodge-shell", "role": "prop", "asset": "lodge", "nodes": "GB_*", "linear": { "skip": true } },
    { "id": "water", "role": "prop", "asset": "lodge", "nodes": "WATER_*", "territory": "salmon-run", "linear": { "skip": true },
      "motion": [{ "kind": "flow", "direction": [-1, 0, 0], "speed": 0.35, "amplitude": 0.03, "period": 2.2 }] },
    { "id": "bees", "role": "prop", "asset": "lodge", "nodes": "BEES_root", "territory": "glade", "label": "The Boo Bees, circling their hive",
      "motion": [{ "kind": "spin", "axis": [0, 1, 0], "speed": 1.2 }] },
    { "id": "ghost", "role": "prop", "asset": "lodge", "nodes": "FX_ghost", "territory": "glade", "label": "The Ghost with the Prost, hovering",
      "motion": [{ "kind": "bob", "axis": [0, 1, 0], "amplitude": 0.12, "period": 3.4 }] },

    { "id": "front-door", "role": "doorway", "label": "The lodge door", "at": { "node": "lodge#DOOR_front" }, "size": [1.0, 2.1], "back": true, "territory": "porch" },
    { "id": "entry", "role": "entry", "at": { "node": "lodge#ENTRY_default" }, "default": true, "through": "front-door" },
    { "id": "trailhead", "role": "directory", "label": "Trailhead", "at": { "node": "lodge#DIR_trailhead" }, "size": [1.2, 0.8], "territory": "porch" },

    { "id": "sasquatch", "role": "anchor", "label": "Sasquatch, mid-strut", "asset": "sasquatch", "at": { "node": "lodge#ANCHOR_sasquatch" }, "primary": true, "territory": "clearing",
      "performance": [{ "clip": "Strut", "mode": "loop" }] },
    { "id": "ogopogo", "role": "prop", "label": "Ogopogo, guardian of Lake Okanagan", "asset": "ogopogo", "at": { "node": "lodge#ANCHOR_ogopogo" }, "territory": "pool",
      "performance": [
        { "id": "surface-on-approach", "clip": "Surface", "mode": "trigger", "trigger": { "on": "proximity", "distance": 6 }, "idle": "Submerged", "blend": 0.5 },
        { "id": "surface-on-schedule", "clip": "Surface", "mode": "schedule", "schedule": { "rrule": "FREQ=MINUTELY;INTERVAL=3" }, "idle": "Submerged", "blend": 0.5 }
      ] },
    { "id": "salmon", "role": "prop", "label": "Zombie Salmon, pushing upstream", "asset": "salmon", "at": { "node": "lodge#ANCHOR_salmon" }, "territory": "salmon-run",
      "performance": [{ "clip": "Swim", "mode": "loop" }] },
    { "id": "slugworth", "role": "prop", "label": "Slugworth, forest-floor connoisseur", "asset": "slug", "at": { "node": "lodge#ANCHOR_slug" }, "territory": "forest-floor",
      "performance": [{ "clip": "Crawl", "mode": "loop" }] },

    { "id": "plaque-sasquatch", "role": "surface", "kind": "text", "label": "Sasquatch", "at": { "node": "lodge#SURF_sasquatch" }, "size": [0.7, 0.45], "readingDistance": 1.2, "territory": "clearing",
      "content": { "text": "The Pacific Northwest's favorite maybe neighbor, caught mid power walk between the trees. Temperament: curious. Habitat: near campfires." } },
    { "id": "plaque-slug", "role": "surface", "kind": "text", "label": "Slugworth (Banana Slug)", "at": { "node": "lodge#SURF_slug" }, "size": [0.7, 0.45], "readingDistance": 1.2, "territory": "forest-floor",
      "content": { "text": "Forest-floor connoisseur. Temperament: hungry, spacey. Habitat: moist areas." } },
    { "id": "plaque-salmon", "role": "surface", "kind": "text", "label": "Zombie Salmon", "at": { "node": "lodge#SURF_salmon" }, "size": [0.7, 0.45], "readingDistance": 1.2, "territory": "salmon-run",
      "content": { "text": "Temperament: determined. Habitat: rivers, streams. Recent drop." } },
    { "id": "plaque-ogopogo", "role": "surface", "kind": "text", "label": "Ogopogo", "at": { "node": "lodge#SURF_ogopogo" }, "size": [0.7, 0.45], "readingDistance": 1.2, "territory": "pool",
      "content": { "text": "The guardian of Lake Okanagan. Temperament: shy. Come close to the water and wait." } },
    { "id": "plaque-glade", "role": "surface", "kind": "text", "label": "The twilight glade", "at": { "node": "lodge#SURF_glade" }, "size": [0.7, 0.45], "readingDistance": 1.2, "territory": "glade",
      "content": { "text": "Boo Bees: playful, found in gardens. Ghost with the Prost: gentle, found in pubs and beer halls. This corner changes with the season." } },
    { "id": "counter-sign", "role": "surface", "kind": "text", "label": "The lodge counter", "at": { "node": "lodge#SURF_counter" }, "size": [1.6, 0.42], "readingDistance": 2.0, "territory": "counter", "face": "double",
      "content": { "text": "Set a specimen here to take it home." } },

    { "id": "stump-a", "role": "fixture", "archetype": "pedestal", "asset": "lodge", "nodes": "FIX_stump_a", "territory": "clearing",
      "slots": [{ "id": "stump-a", "at": { "node": "lodge#SLOT_stump_a" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.9 }] },
    { "id": "stump-b", "role": "fixture", "archetype": "pedestal", "asset": "lodge", "nodes": "FIX_stump_b", "territory": "clearing",
      "slots": [{ "id": "stump-b", "at": { "node": "lodge#SLOT_stump_b" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.7 }] },
    { "id": "log-1", "role": "fixture", "archetype": "shelf", "asset": "lodge", "nodes": "FIX_log_1", "territory": "forest-floor",
      "slots": [
        { "id": "log-1-a", "at": { "node": "lodge#SLOT_log_1_a" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.8 },
        { "id": "log-1-b", "at": { "node": "lodge#SLOT_log_1_b" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.6 }
      ] },
    { "id": "log-2", "role": "fixture", "archetype": "shelf", "asset": "lodge", "nodes": "FIX_log_2", "territory": "forest-floor",
      "slots": [{ "id": "log-2-a", "at": { "node": "lodge#SLOT_log_2_a" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.5 }] },
    { "id": "rock-a", "role": "fixture", "archetype": "pedestal", "asset": "lodge", "nodes": "FIX_rock_a", "territory": "salmon-run",
      "slots": [{ "id": "rock-a", "at": { "node": "lodge#SLOT_rock_a" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.8 }] },
    { "id": "stump-pool", "role": "fixture", "archetype": "pedestal", "asset": "lodge", "nodes": "FIX_stump_pool", "territory": "pool",
      "slots": [{ "id": "stump-pool-a", "at": { "node": "lodge#SLOT_stump_pool_a" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.8 }] },
    { "id": "stage", "role": "fixture", "archetype": "stage", "asset": "lodge", "nodes": "FIX_stage", "territory": "glade",
      "slots": [
        { "id": "stage-a", "at": { "node": "lodge#SLOT_stage_a" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.8 },
        { "id": "stage-b", "at": { "node": "lodge#SLOT_stage_b" }, "accepts": ["specimen"], "maxSize": [0.12, 0.12, 0.02], "sightline": 0.7 }
      ] },
    { "id": "lodge-counter", "role": "fixture", "archetype": "counter", "asset": "lodge", "nodes": "FIX_counter", "territory": "counter", "affordances": ["send"],
      "slots": [{ "id": "counter-drop", "at": { "node": "lodge#SLOT_counter_drop" }, "accepts": ["specimen"], "maxSize": [0.3, 0.3, 0.3], "capacity": 12 }] },
    { "id": "field-archive", "role": "fixture", "archetype": "drawer", "asset": "lodge", "nodes": "FIX_drawer*", "territory": "archive", "affordances": ["reveal"],
      "slots": [
        { "id": "drawer-0", "at": { "node": "lodge#SLOT_drawer_0" }, "accepts": ["specimen"], "maxSize": [0.1, 0.1, 0.02], "capacity": 4, "sightline": 0.3, "layout": "grid", "reveal": { "node": "lodge#FIX_drawer_front_0", "travel": 0.42 } },
        { "id": "drawer-1", "at": { "node": "lodge#SLOT_drawer_1" }, "accepts": ["specimen"], "maxSize": [0.1, 0.1, 0.02], "capacity": 4, "sightline": 0.5, "layout": "grid", "reveal": { "node": "lodge#FIX_drawer_front_1", "travel": 0.42 } },
        { "id": "drawer-2", "at": { "node": "lodge#SLOT_drawer_2" }, "accepts": ["specimen"], "maxSize": [0.1, 0.1, 0.02], "capacity": 4, "sightline": 0.7, "layout": "grid", "reveal": { "node": "lodge#FIX_drawer_front_2", "travel": 0.42 } }
      ] },

    { "id": "sticker-strut", "role": "specimen", "label": "Sasquatch Strut", "size": [0.0762, 0.0762, 0.0005], "weight": 2, "territory": "clearing",
      "visual": { "kind": "sticker", "image": "art-strut" },
      "card": { "title": "Sasquatch Strut", "price": { "amount": 4.99, "currency": "USD" }, "description": "Bigfoot Sticker: Sasquatch Strut", "attributes": { "size": "3 in", "finishes": "matte, holographic" }, "tags": ["new"] },
      "affordances": ["inspect", "loupe"],
      "actions": [{ "verb": "open-url", "url": "https://www.etsy.com/listing/4380644350/bigfoot-sticker-pnw-sasquatch-strut-3", "label": "View on Etsy" }] },
    { "id": "sticker-believe", "role": "specimen", "label": "No one will ever believe you", "size": [0.0762, 0.0762, 0.0005], "weight": 2, "territory": "clearing",
      "visual": { "kind": "sticker", "image": "art-believe" },
      "card": { "title": "No one will ever believe you", "price": { "amount": 4.99, "currency": "USD" }, "description": "Bigfoot Sticker: No one will ever believe you.", "attributes": { "size": "3 in", "finish": "glitter" }, "tags": ["limited"] },
      "affordances": ["inspect", "loupe"],
      "actions": [{ "verb": "open-url", "url": "https://www.etsy.com/listing/4381741147/glitter-holographic-bigfoot-sticker-no", "label": "View on Etsy" }] },
    { "id": "sticker-slug", "role": "specimen", "label": "Slugworth (Banana Slug)", "size": [0.0762, 0.0762, 0.0005], "weight": 2, "territory": "forest-floor",
      "visual": { "kind": "sticker", "image": "art-slug" },
      "card": { "title": "Slugworth (Banana Slug)", "price": { "amount": 4.99, "currency": "USD" }, "description": "Forest-floor connoisseur.", "attributes": { "size": "3 in", "finish": "matte" } },
      "affordances": ["inspect", "loupe"],
      "actions": [{ "verb": "open-url", "url": "https://www.etsy.com/listing/4400368736/banana-slug-vinyl-sticker-pnw-forest", "label": "View on Etsy" }] },
    { "id": "sticker-salmon", "role": "specimen", "label": "Zombie Salmon", "size": [0.0762, 0.0762, 0.0005], "weight": 2, "territory": "salmon-run",
      "visual": { "kind": "sticker", "image": "art-salmon" },
      "card": { "title": "Zombie Salmon", "price": { "amount": 4.99, "currency": "USD" }, "description": "Recent drop.", "attributes": { "size": "3 x 2 in", "finish": "matte" } },
      "affordances": ["inspect", "loupe"],
      "actions": [{ "verb": "open-url", "url": "https://www.etsy.com/listing/4404565016", "label": "View on Etsy" }] },
    { "id": "sticker-ogopogo", "role": "specimen", "label": "Ogopogo", "size": [0.0762, 0.0762, 0.0005], "weight": 2, "territory": "pool",
      "visual": { "kind": "sticker", "image": "art-ogopogo" },
      "card": { "title": "Ogopogo", "price": { "amount": 4.99, "currency": "USD" }, "description": "Guardian of Lake Okanagan", "attributes": { "size": "3 x 2 in", "finish": "matte" }, "tags": ["new"] },
      "affordances": ["inspect", "loupe"],
      "actions": [{ "verb": "open-url", "url": "https://www.etsy.com/listing/4408977641/ogopogo-lake-monster-vinyl-sticker-pnw", "label": "View on Etsy" }] },
    { "id": "sticker-boo", "role": "specimen", "label": "Boo Bees", "size": [0.0762, 0.0762, 0.0005], "weight": 2, "territory": "glade",
      "visual": { "kind": "sticker", "image": "art-boo" },
      "card": { "title": "Boo Bees", "price": { "amount": 4.99, "currency": "USD" }, "description": "Halloween Sticker: Boo Bees", "attributes": { "size": "3 in", "finish": "matte" } },
      "affordances": ["inspect", "loupe"],
      "actions": [{ "verb": "open-url", "url": "https://www.etsy.com/listing/4381735723/boo-bees-halloween-sticker-spooky-ghost", "label": "View on Etsy" }] },
    { "id": "sticker-ghost", "role": "specimen", "label": "Ghost with the Prost", "size": [0.0762, 0.0762, 0.0005], "weight": 2, "territory": "glade",
      "visual": { "kind": "sticker", "image": "art-ghost" },
      "card": { "title": "Ghost with the Prost", "price": { "amount": 4.99, "currency": "USD" }, "description": "Halloween Sticker: Ghost with the Prost!", "attributes": { "size": "3 in", "finish": "matte" } },
      "affordances": ["inspect", "loupe"],
      "actions": [{ "verb": "open-url", "url": "https://www.etsy.com/listing/4381737450/oktoberfest-ghost-sticker-ghost-with-the", "label": "View on Etsy" }] },

    { "id": "sky", "role": "ambience", "kind": "environment",
      "procedural": { "sky": "#2c4252", "ground": "#0a120c", "lobes": [
        { "direction": [-0.5, 0.75, 0.3], "color": "#a9c4e8", "power": 0.55, "sharpness": 3.0 },
        { "direction": [0.3, 0.2, -0.9], "color": "#ffb070", "power": 0.12, "sharpness": 8.0 }
      ] } },
    { "id": "haze", "role": "ambience", "kind": "fog", "color": "#11201a", "near": 16, "far": 64 },
    { "id": "forest-sound", "role": "ambience", "kind": "audio", "asset": "forest-bed", "gain": 0.45, "loop": true },
    { "id": "stream-sound", "role": "ambience", "kind": "audio", "asset": "water-sound", "gain": 0.8, "loop": true, "at": { "node": "lodge#ANCHOR_salmon" }, "radius": 3.5, "territory": "salmon-run" },
    { "id": "key-light", "role": "ambience", "kind": "light", "type": "spot", "color": "#ffe2b8", "intensity": 260, "shadows": true, "angle": 34, "at": { "node": "lodge#LIGHT_key" }, "target": "sasquatch", "territory": "clearing" },
    { "id": "glade-light", "role": "ambience", "kind": "light", "type": "point", "color": "#9a6cff", "intensity": 60, "shadows": true, "at": { "node": "lodge#LIGHT_glade" }, "territory": "glade",
      "motion": [{ "kind": "flicker", "amplitude": 0.35, "seed": 3 }] },
    { "id": "pool-light", "role": "ambience", "kind": "light", "type": "point", "color": "#6fb2d2", "intensity": 30, "at": { "node": "lodge#LIGHT_pool" }, "territory": "pool" },
    { "id": "floor-light", "role": "ambience", "kind": "light", "type": "point", "color": "#d8e8a0", "intensity": 22, "at": { "node": "lodge#LIGHT_floor" }, "territory": "forest-floor" },
    { "id": "counter-light", "role": "ambience", "kind": "light", "type": "point", "color": "#ffc98a", "intensity": 28, "at": { "node": "lodge#LIGHT_counter" }, "territory": "counter" },
    { "id": "porch-light", "role": "ambience", "kind": "light", "type": "point", "color": "#ffb56b", "intensity": 24, "at": { "node": "lodge#LIGHT_porch" }, "territory": "porch",
      "motion": [{ "kind": "flicker", "amplitude": 0.12, "seed": 9 }] }
  ],
  "zones": [
    { "id": "clearing", "slots": ["stump-a", "stump-b"], "priorityWeights": { "distance": 1.0, "sightline": 0.8, "size": 0.1 }, "overflow": "field-archive" },
    { "id": "forest-floor", "slots": ["log-1-a", "log-1-b", "log-2-a"], "overflow": "field-archive" },
    { "id": "salmon-run", "slots": ["rock-a"], "overflow": "field-archive" },
    { "id": "pool", "slots": ["stump-pool-a"], "overflow": "field-archive" },
    { "id": "glade", "slots": ["stage-a", "stage-b"], "overflow": "field-archive" },
    { "id": "archive", "slots": ["drawer-2", "drawer-1", "drawer-0"], "priorityWeights": { "distance": 0.2, "sightline": 1.0, "size": 0.0 } }
  ],
  "bindings": [
    { "zone": "clearing", "items": [{ "rank": 1, "content": "sticker-strut" }, { "rank": 2, "content": "sticker-believe" }] },
    { "zone": "forest-floor", "items": [{ "rank": 1, "content": "sticker-slug" }] },
    { "zone": "salmon-run", "items": [{ "rank": 1, "content": "sticker-salmon" }] },
    { "zone": "pool", "items": [{ "rank": 1, "content": "sticker-ogopogo" }] },
    { "zone": "glade", "items": [{ "rank": 1, "content": "sticker-boo" }, { "rank": 2, "content": "sticker-ghost" }] },
    { "zone": "archive", "items": [
      { "rank": 1, "content": "sticker-strut" }, { "rank": 2, "content": "sticker-believe" }, { "rank": 3, "content": "sticker-slug" },
      { "rank": 4, "content": "sticker-salmon" }, { "rank": 5, "content": "sticker-ogopogo" }, { "rank": 6, "content": "sticker-boo" }, { "rank": 7, "content": "sticker-ghost" }
    ] }
  ],
  "linear": { "summary": "A lodge in an other-dimensional Pacific Northwest forest where six creatures keep their specimens. A trailhead map by the door; Sasquatch mid-strut in the clearing; a stream that runs from Slugworth's forest floor through the Zombie Salmon run into Ogopogo's pool; the twilight glade; the lodge counter; the field archive." }
}
