{
  "meta": {
    "engine": "dynsh/2.0-rust",
    "title": "小狐与月亮邮局",
    "fingerprint": "70f10ef8d6651634",
    "createdAt": "2026-10-30T07:16:16Z",
    "license": "IP 体验权 · 非独占 · 免费试用"
  },
  "architecture": [
    {
      "layer": "内核层",
      "role": "TXT 纯文本 → 唯一事实源",
      "artifact": "story.json"
    },
    {
      "layer": "引擎层",
      "role": "四相/四属性/角色/情绪规则推理",
      "artifact": "scene graph"
    },
    {
      "layer": "服务层",
      "role": "HTTP + 邮件指令服务",
      "artifact": "routes / imap"
    },
    {
      "layer": "业务层",
      "role": "IP 体验权与交付流程",
      "artifact": "request / license"
    },
    {
      "layer": "交付层",
      "role": "CSS 动画 + A4 证书",
      "artifact": "html / pdf"
    }
  ],
  "worldview": {
    "version": "worldview/0.2",
    "layout": "田字四象限",
    "axes": {
      "realm": "四相 · 原 / 仙 / 虫 / 人",
      "element": "四属性 · 动力与材质"
    },
    "realms": [
      {
        "n": 1,
        "realm": "yuan",
        "realmName": "原",
        "subtitle": "自然界",
        "animal": "fox",
        "animalName": "狐狸",
        "character": "容易害怕",
        "color": "#ff6633"
      },
      {
        "n": 2,
        "realm": "xian",
        "realmName": "仙",
        "subtitle": "灵气",
        "animal": "monster",
        "animalName": "小妖怪",
        "character": "喜欢笑着",
        "color": "#009999"
      },
      {
        "n": 3,
        "realm": "chong",
        "realmName": "虫",
        "subtitle": "色界生命",
        "animal": "bug",
        "animalName": "四足小鳄虫",
        "character": "会走路",
        "color": "#4e4e4e"
      },
      {
        "n": 4,
        "realm": "ren",
        "realmName": "人",
        "subtitle": "欲界的六道",
        "animal": "farmer",
        "animalName": "农夫",
        "character": "想着耕田有收成好养家",
        "color": "#cc9966"
      }
    ],
    "quadrants": [
      {
        "phase": "dawn",
        "phaseName": "晨",
        "element": "wind",
        "elementName": "风",
        "beat": "起 · 相遇",
        "motion": "漂移",
        "bg": "#fff7e6",
        "ink": "#2d2a26",
        "accent": "#e8a33d",
        "elementColor": "#ffb703",
        "animals": [
          "rabbit"
        ]
      },
      {
        "phase": "day",
        "phaseName": "昼",
        "element": "fire",
        "elementName": "火",
        "beat": "承 · 同行",
        "motion": "上升",
        "bg": "#fff0e6",
        "ink": "#33251f",
        "accent": "#ff7e47",
        "elementColor": "#ff7e47",
        "animals": [
          "fox"
        ]
      },
      {
        "phase": "dusk",
        "phaseName": "暮",
        "element": "water",
        "elementName": "水",
        "beat": "转 · 试炼",
        "motion": "下落",
        "bg": "#eaf2f7",
        "ink": "#22313d",
        "accent": "#5d8aa8",
        "elementColor": "#5d8aa8",
        "animals": [
          "bear"
        ]
      },
      {
        "phase": "night",
        "phaseName": "夜",
        "element": "earth",
        "elementName": "土",
        "beat": "合 · 归处",
        "motion": "静止",
        "bg": "#edeefa",
        "ink": "#232538",
        "accent": "#6b5b95",
        "elementColor": "#8b6f47",
        "animals": [
          "owl",
          "cat"
        ]
      }
    ],
    "rules": [
      "四相：原（自然界）· 仙（灵气）· 虫（色界生命）· 人（欲界的六道）",
      "四属性缺省时取光时的固定配对；四属性只描述动力与材质",
      "扁平化色板只使用四相主色与情绪重音色，禁止渐变与位图"
    ]
  },
  "cast": [
    {
      "id": "fox",
      "name": "小狐",
      "color": "#ff7e47",
      "count": 2,
      "element": "fire",
      "phase": "day"
    },
    {
      "id": "rabbit",
      "name": "棉棉",
      "color": "#ffb6c1",
      "count": 1,
      "element": "earth",
      "phase": "dawn"
    },
    {
      "id": "owl",
      "name": "墨鸮",
      "color": "#6b5b95",
      "count": 2,
      "element": "wind",
      "phase": "night"
    },
    {
      "id": "bear",
      "name": "憨熊",
      "color": "#8b6f47",
      "count": 3,
      "element": "earth",
      "phase": "dusk"
    }
  ],
  "scenes": [
    {
      "id": 0,
      "text": "小狐在森林边缘开了一间很小的邮局，只收一种信：写给月亮的话。邮局只有一张木桌、一盏灯，和一只装着月光的玻璃瓶。",
      "animal": "fox",
      "mood": "calm",
      "phase": "night",
      "element": "fire",
      "palette": {
        "bg": "#edeefa",
        "ink": "#232538",
        "accent": "#708090",
        "animalColor": "#ff7e47"
      }
    },
    {
      "id": 1,
      "text": "第一封信是棉棉写的。她说自己害怕天黑，想把一句“晚安”寄到月亮上，让月亮替她守着窗子。小狐把信折成一只纸兔，放进玻璃瓶里。",
      "animal": "rabbit",
      "mood": "thoughtful",
      "phase": "night",
      "element": "fire",
      "palette": {
        "bg": "#edeefa",
        "ink": "#232538",
        "accent": "#2f9e77",
        "animalColor": "#ffb6c1"
      }
    },
    {
      "id": 2,
      "text": "夜里，墨鸮落在屋檐上。他笑着说：月亮从不回信，它只会把光借给需要的人。小狐抬起头，看见窗外的雪被照得很亮。",
      "animal": "owl",
      "mood": "joyful",
      "phase": "night",
      "element": "fire",
      "palette": {
        "bg": "#edeefa",
        "ink": "#232538",
        "accent": "#ff9f43",
        "animalColor": "#6b5b95"
      }
    },
    {
      "id": 3,
      "text": "第二天，憨熊来了。他抱着一封很旧的信，说自己年轻时也写过，只是忘了寄。小狐替他把信重新封好，贴上邮票，邮戳上写着今天。",
      "animal": "bear",
      "mood": "nostalgic",
      "phase": "dusk",
      "element": "wind",
      "palette": {
        "bg": "#eaf2f7",
        "ink": "#22313d",
        "accent": "#6b5b95",
        "animalColor": "#8b6f47"
      }
    },
    {
      "id": 4,
      "text": "雪越下越大，路被封住了。小狐把邮局搬到树下，用一块蓝布挡风。棉棉提着小灯赶来，说愿意帮忙送信。",
      "animal": "fox",
      "mood": "melancholy",
      "phase": "night",
      "element": "earth",
      "palette": {
        "bg": "#edeefa",
        "ink": "#232538",
        "accent": "#5d8aa8",
        "animalColor": "#ff7e47"
      }
    },
    {
      "id": 5,
      "text": "他们一起走了很久。风把纸兔吹起来，飘向远处，像一小片月亮。墨鸮在树梢上数着，一共七封，谁也没有少。",
      "animal": "owl",
      "mood": "nostalgic",
      "phase": "night",
      "element": "wind",
      "palette": {
        "bg": "#edeefa",
        "ink": "#232538",
        "accent": "#6b5b95",
        "animalColor": "#6b5b95"
      }
    },
    {
      "id": 6,
      "text": "天快亮时，憨熊忽然说：其实信寄不寄得到都不重要，重要的是有人愿意替你收着。小狐点点头，把最后一封信放进瓶里。",
      "animal": "bear",
      "mood": "surprised",
      "phase": "dusk",
      "element": "fire",
      "palette": {
        "bg": "#eaf2f7",
        "ink": "#22313d",
        "accent": "#e0567a",
        "animalColor": "#8b6f47"
      }
    },
    {
      "id": 7,
      "text": "后来邮局的门口挂了一块木牌：这里收下所有说不出口的话。月亮仍旧不回信，但每个夜里，窗子都被照得很亮。",
      "animal": "bear",
      "mood": "nostalgic",
      "phase": "night",
      "element": "fire",
      "palette": {
        "bg": "#edeefa",
        "ink": "#232538",
        "accent": "#6b5b95",
        "animalColor": "#8b6f47"
      }
    }
  ],
  "rules": [
    {
      "when": "文本出现「狐」",
      "then": "角色 = 小狐"
    },
    {
      "when": "文本出现「兔 / 棉棉」",
      "then": "角色 = 棉棉"
    },
    {
      "when": "文本出现「熊 / 憨熊」",
      "then": "角色 = 憨熊"
    },
    {
      "when": "文本出现「猫 / 喵先生」",
      "then": "角色 = 喵先生"
    },
    {
      "when": "文本出现「鸮 / 墨鸮」",
      "then": "角色 = 墨鸮"
    },
    {
      "when": "命中四相关键词最多",
      "then": "取该相为场景时间"
    },
    {
      "when": "命中四属性关键词最多",
      "then": "取该属性为场景动力"
    },
    {
      "when": "四相无命中",
      "then": "按情绪兜底，再按角色亲和兜底"
    },
    {
      "when": "段落超过 96 字符",
      "then": "按句切分为多幕（上限 24 幕）"
    }
  ],
  "stats": {
    "chars": 451,
    "sentences": 22,
    "scenes": 8,
    "cast": 4
  }
}