- generic [active] [ref=e1]:
  - main [ref=e3]:
    - button "切到明亮主题" [ref=e5]:
      - img [ref=e6]
    - application [ref=e14]:
      - generic [ref=e16]:
        - generic:
          - generic:
            - img:
              - group "Edge from input to keyframe" [ref=e17] [cursor=pointer]
            - img:
              - group "Edge from input to asr" [ref=e20] [cursor=pointer]
            - img:
              - group "Edge from asr to translate"
            - img:
              - group "Edge from translate to rewrite" [ref=e23] [cursor=pointer]
            - img:
              - group "Edge from keyframe to storyboard" [ref=e26] [cursor=pointer]
            - img:
              - group "Edge from rewrite to storyboard" [ref=e29] [cursor=pointer]
            - img:
              - group "Edge from storyboard to videogen" [ref=e32] [cursor=pointer]
            - img:
              - group "Edge from videogen to compose" [ref=e35] [cursor=pointer]
            - img:
              - group "Edge from rewrite to compose" [ref=e38] [cursor=pointer]
          - generic:
            - group [ref=e41]:
              - generic [ref=e43]:
                - generic [ref=e44]:
                  - img [ref=e46]
                  - generic [ref=e49]: 输入 · Input
                - generic [ref=e52]:
                  - generic [ref=e53]: STEP 1 · 待运行
                  - textbox "粘贴 TikTok 链接" [ref=e54]
                  - generic [ref=e55]:
                    - button "提交链接" [disabled] [ref=e56]
                    - button "上传" [ref=e57]:
                      - img [ref=e58]
                      - text: 上传
                - generic "拖动调整宽度" [ref=e62]
            - group [ref=e63]:
              - generic [ref=e65]:
                - generic [ref=e67]:
                  - img [ref=e69]
                  - generic [ref=e73]: 镜头拆解 · 元素提取
                - generic [ref=e76]:
                  - generic [ref=e77]: STEP 2 · 等待抽取 · 待运行
                  - generic [ref=e78]: 等待解析（默认 5 张）
                - generic "拖动调整宽度" [ref=e80]
            - group [ref=e81]:
              - generic [ref=e82]:
                - generic [ref=e84]:
                  - img [ref=e86]
                  - generic [ref=e89]: 声音文案 · ASR
                - generic [ref=e92]:
                  - generic [ref=e93]: STEP 3 · 可选文案轨 · 待运行
                  - generic [ref=e94]: Gemini 2.5 · 英文带时间戳分段
                - generic "拖动调整宽度" [ref=e96]
            - group [ref=e97]:
              - generic [ref=e98]:
                - generic [ref=e100]:
                  - img [ref=e102]
                  - generic [ref=e106]: 翻译理解 · Translate
                - generic [ref=e109]:
                  - generic [ref=e110]: STEP 4 · EN → ZH · 待运行
                  - generic [ref=e111]: 中文翻译 · 段落级 · 实时输出
                - generic "拖动调整宽度" [ref=e113]
            - group [ref=e114]:
              - generic [ref=e116]:
                - generic [ref=e118]:
                  - img [ref=e120]
                  - generic [ref=e125]: 元素改造 · Storyboard
                - generic [ref=e128]:
                  - generic [ref=e129]: STEP 6 · 参考元素 → SKG 画面 · 待运行
                  - generic [ref=e130]:
                    - text: 不是复刻原视频：先把参考图里的主体 / 场景 / 动作 / 道具拆出来，再替换成 SKG 产品画面。
                    - generic [ref=e131]: 已有 0 个提取元素 · 0 个分镜进入编排
                  - button "进入分镜编排" [disabled] [ref=e132]
                - generic "拖动调整宽度" [ref=e134]
            - group [ref=e135]:
              - generic [ref=e136]:
                - generic [ref=e138]:
                  - img [ref=e140]
                  - generic [ref=e144]: 产品文案 · Rewrite
                - generic [ref=e147]:
                  - generic [ref=e148]: STEP 5 · 接 SKG 卖点 · 待运行
                  - textbox "粘贴 SKG 产品信息 / 关键卖点（可作为视频脚本和镜头动作参考）" [disabled] [ref=e149]
                  - generic [ref=e150]: 下一冲刺接入
                - generic "拖动调整宽度" [ref=e152]
            - group [ref=e153]:
              - generic [ref=e155]:
                - generic [ref=e157]:
                  - img [ref=e159]
                  - generic [ref=e161]: 生成视频 · Video Gen
                - generic [ref=e164]:
                  - generic [ref=e165]: STEP 7 · 首帧 + 动作 prompt · 待运行
                  - generic [ref=e166]:
                    - generic [ref=e167]: Seedance
                    - generic [ref=e168]: Kling
                    - generic [ref=e169]: Veo 3
                - generic "拖动调整宽度" [ref=e171]
            - group [ref=e172]:
              - generic [ref=e173]:
                - generic [ref=e175]:
                  - img [ref=e177]
                  - generic [ref=e181]: 合成成品 · Compose
                - generic [ref=e184]:
                  - generic [ref=e185]: STEP 8 · ffmpeg + 字幕 · 待运行
                  - generic [ref=e186]:
                    - text: 视频片段 + 字幕 / TTS
                    - text: → 最终 mp4 输出
                - generic "拖动调整宽度" [ref=e187]
      - img
      - generic "Control Panel" [ref=e188]:
        - button "Zoom In" [ref=e189] [cursor=pointer]:
          - img [ref=e190]
        - button "Zoom Out" [ref=e192] [cursor=pointer]:
          - img [ref=e193]
        - button "Fit View" [ref=e195] [cursor=pointer]:
          - img [ref=e196]
        - button "Toggle Interactivity" [ref=e198] [cursor=pointer]:
          - img [ref=e199]
      - img "Mini Map" [ref=e202]
    - region "Notifications alt+T"
  - generic [ref=e216] [cursor=pointer]:
    - button "Open Next.js Dev Tools" [ref=e217]:
      - img [ref=e218]
    - generic [ref=e223]:
      - button "Open issues overlay" [ref=e224]:
        - generic [ref=e225]:
          - generic [ref=e226]: "0"
          - generic [ref=e227]: "1"
        - generic [ref=e228]: Issue
      - button "Collapse issues badge" [ref=e229]:
        - img [ref=e230]
  - alert [ref=e232]