From 950011eecb7f10452d3358672bfdf7c4a801e3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ACT=E4=B8=B6=E6=B5=81=E6=98=9F=E9=9B=A8?= <1340145680@qq.com> Date: Mon, 6 Apr 2026 00:37:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=89=93=E5=8C=85=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/debug.yml | 22 +-- .github/workflows/release.yml | 167 ++++-------------- .../driector_skills/director_planning.md | 88 --------- .../director_storyboard_table.md | 47 ----- electron-builder.yml | 3 + 5 files changed, 44 insertions(+), 283 deletions(-) delete mode 100644 data/skills/art_skills/realpeople_urban_modern/driector_skills/director_planning.md delete mode 100644 data/skills/art_skills/realpeople_urban_modern/driector_skills/director_storyboard_table.md diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml index 3c7b530..9bdb5aa 100644 --- a/.github/workflows/debug.yml +++ b/.github/workflows/debug.yml @@ -16,17 +16,8 @@ env: jobs: # ==================== Windows 构建 ==================== build-Windows: - strategy: - fail-fast: false - matrix: - include: - - arch: x64 - name: x64 - - arch: arm64 - name: ARM64 - runs-on: windows-latest - name: 构建 Windows (${{ matrix.name }}) + name: 构建 Windows steps: - name: 检出代码 @@ -39,23 +30,16 @@ jobs: - name: 安装依赖 run: yarn install --frozen-lockfile - env: - npm_config_arch: ${{ matrix.arch }} - - - name: 安装目标平台 sharp - if: matrix.arch == 'arm64' - run: | - npm install --no-save --ignore-scripts --force @img/sharp-win32-arm64 @img/sharp-libvips-win32-arm64 - name: 打包 Windows 安装程序 - run: yarn dist:win --${{ matrix.arch }} + run: yarn dist:win env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: 上传构建产物 uses: actions/upload-artifact@v4 with: - name: windows-${{ matrix.arch }} + name: windows path: dist/*.exe retention-days: 7 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3eee428..03f4e1c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,15 +2,13 @@ name: 构建发布 on: push: - tags: - - "v*" + branches: + - main + - dev + pull_request: + branches: + - main workflow_dispatch: - inputs: - debug: - description: "启用调试模式" - required: false - type: boolean - default: false env: NODE_VERSION: "24" @@ -18,13 +16,8 @@ env: jobs: # ==================== Windows 构建 ==================== build-Windows: - strategy: - fail-fast: false - matrix: - arch: [x64, arm64] - runs-on: windows-latest - name: 构建 Windows (${{ matrix.arch }}) + name: 构建 Windows steps: - name: 检出代码 @@ -35,57 +28,20 @@ jobs: with: node-version: ${{ env.NODE_VERSION }} - - name: 缓存依赖 - uses: actions/cache@v4 - id: cache - with: - path: node_modules - key: windows-${{ matrix.arch }}-modules-${{ hashFiles('yarn.lock') }} - - name: 安装依赖 - if: steps.cache.outputs.cache-hit != 'true' run: yarn install --frozen-lockfile - env: - npm_config_arch: ${{ matrix.arch }} - - - name: 调试 - 显示环境信息 - if: ${{ inputs.debug }} - run: | - echo "===== 系统信息 =====" - systeminfo | findstr /B /C:"OS" - echo "===== Node 版本 =====" - node -v - echo "===== Yarn 版本 =====" - yarn -v - echo "===== 目标架构 =====" - echo "${{ matrix.arch }}" - - - name: 构建应用 - run: yarn build - - - name: 调试 - 显示构建产物 - if: ${{ inputs.debug }} - run: | - echo "===== 构建目录内容 =====" - dir dist 2>nul || echo "dist 目录不存在" - name: 打包 Windows 安装程序 - run: yarn dist:win --${{ matrix.arch }} + run: yarn dist:win env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: 调试 - 显示打包产物 - if: ${{ inputs.debug }} - run: | - echo "===== 最终产物 =====" - dir dist\*.exe - - name: 上传构建产物 uses: actions/upload-artifact@v4 with: - name: windows-${{ matrix.arch }} + name: windows path: dist/*.exe - retention-days: 30 + retention-days: 7 # ==================== macOS 构建 ==================== build-macOS: @@ -94,10 +50,10 @@ jobs: matrix: include: - arch: arm64 - os: macos-14 + os: macos-latest name: Apple Silicon - arch: x64 - os: macos-13 + os: macos-latest name: Intel runs-on: ${{ matrix.os }} @@ -112,68 +68,41 @@ jobs: with: node-version: ${{ env.NODE_VERSION }} - - name: 缓存依赖 - uses: actions/cache@v4 - id: cache - with: - path: node_modules - key: macos-${{ matrix.arch }}-modules-${{ hashFiles('yarn.lock') }} - - name: 安装依赖 - if: steps.cache.outputs.cache-hit != 'true' run: yarn install --frozen-lockfile + env: + npm_config_arch: ${{ matrix.arch }} - - name: 调试 - 显示环境信息 - if: ${{ inputs.debug }} + - name: 安装目标平台 sharp + if: matrix.arch == 'x64' run: | - echo "===== 系统信息 =====" - uname -a - echo "===== 系统架构 =====" - uname -m - echo "===== Node 版本 =====" - node -v - echo "===== Yarn 版本 =====" - yarn -v - - - name: 调试 - 验证 native 模块架构 - if: ${{ inputs.debug }} - run: | - echo "===== sharp 模块架构 =====" - file node_modules/sharp/build/Release/*.node 2>/dev/null || echo "sharp 未安装" - echo "===== 其他 native 模块 =====" - find node_modules -name "*.node" -exec file {} \; 2>/dev/null | head -20 - - - name: 构建应用 - run: yarn build - - - name: 调试 - 显示构建产物 - if: ${{ inputs.debug }} - run: | - echo "===== 构建目录内容 =====" - ls -la dist/ 2>/dev/null || echo "dist 目录不存在" + npm install --no-save --ignore-scripts --force @img/sharp-darwin-x64 @img/sharp-libvips-darwin-x64 - name: 打包 macOS 安装程序 - run: yarn dist:mac + run: yarn dist:mac --${{ matrix.arch }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: 调试 - 显示打包产物 - if: ${{ inputs.debug }} - run: | - echo "===== 最终产物 =====" - ls -la dist/*.dmg - - name: 上传构建产物 uses: actions/upload-artifact@v4 with: name: macos-${{ matrix.arch }} path: dist/*.dmg - retention-days: 30 + retention-days: 7 # ==================== Linux 构建 ==================== build-Linux: + strategy: + fail-fast: false + matrix: + include: + - arch: x64 + name: x64 + - arch: arm64 + name: ARM64 + runs-on: ubuntu-latest - name: 构建 Linux (x64) + name: 构建 Linux (${{ matrix.name }}) steps: - name: 检出代码 @@ -183,49 +112,28 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} - cache: "yarn" - name: 安装依赖 run: yarn install --frozen-lockfile + env: + npm_config_arch: ${{ matrix.arch }} - - name: 调试 - 显示环境信息 - if: ${{ inputs.debug }} + - name: 安装目标平台 sharp + if: matrix.arch == 'arm64' run: | - echo "===== 系统信息 =====" - uname -a - echo "===== 系统架构 =====" - uname -m - echo "===== Node 版本 =====" - node -v - echo "===== Yarn 版本 =====" - yarn -v - - - name: 调试 - 验证 native 模块架构 - if: ${{ inputs.debug }} - run: | - echo "===== sharp 模块架构 =====" - file node_modules/sharp/build/Release/*.node 2>/dev/null || echo "sharp 未安装" - - - name: 构建应用 - run: yarn build + npm install --no-save --ignore-scripts --force @img/sharp-linux-arm64 @img/sharp-libvips-linux-arm64 - name: 打包 Linux 安装程序 - run: yarn dist:linux + run: yarn dist:linux --${{ matrix.arch }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: 调试 - 显示打包产物 - if: ${{ inputs.debug }} - run: | - echo "===== 最终产物 =====" - ls -la dist/*.AppImage - - name: 上传构建产物 uses: actions/upload-artifact@v4 with: - name: linux-x64 + name: linux-${{ matrix.arch }} path: dist/*.AppImage - retention-days: 30 + retention-days: 7 # ==================== 发布 ==================== release: @@ -270,6 +178,7 @@ jobs: | 🍎 macOS | Apple Silicon | `ToonFlow-*-mac-arm64.dmg` | 适用于 M1/M2/M3/M4 芯片的 Mac | | 🍎 macOS | Intel | `ToonFlow-*-mac-x64.dmg` | 适用于 Intel 芯片的 Mac | | 🐧 Linux | x64 | `ToonFlow-*-linux-x64.AppImage` | 适用于大多数 Linux 发行版 | + | 🐧 Linux | ARM64 | `ToonFlow-*-linux-arm64.AppImage` | 适用于 ARM 架构的 Linux 设备 | > 💡 **不确定选哪个?** Windows 用户通常选 **x64-setup.exe**;Mac 用户查看「关于本机」:M 系列芯片选 **arm64.dmg**,Intel 选 **x64.dmg**。 diff --git a/data/skills/art_skills/realpeople_urban_modern/driector_skills/director_planning.md b/data/skills/art_skills/realpeople_urban_modern/driector_skills/director_planning.md deleted file mode 100644 index 07d32d5..0000000 --- a/data/skills/art_skills/realpeople_urban_modern/driector_skills/director_planning.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -name: director_planning_style -description: 都市写实风格约束 — 定义真人都市写实在色调体系、光影方案、质感方向、场景空间元素、乐器选择与环境音上的全局约束。适用于任何叙事类型。 -metaData: director_skills ---- - -# 都市风格约束 · 真人都市写实 · 技法参考 - ---- - -## 一、色调体系与画面基调 - -- **色调基底** — 全片以米白(C1)、暖肤色(C2)、高级灰(C6)为基底色,整体色温偏暖(5200-5800K),饱和度中低(40-60%),呈现温暖明亮的都市生活感 -- **冷暖叙事对比** — 暖色(琥珀暖 C7、奶油粉 C5、金属银 C8)作为情感升温与关系确认的视觉信号,冷色用于压力、误会、疏离等段落。冷暖切换应与情绪弧线同步 -- **冷暖分配策略** — 日常与工作段落以中性/微冷为主,亲密与和解段落释放暖色;避免全程高暖导致情绪层次塌陷 -- **色盘先行原则** — 段落规划先绑定情绪场景(相遇/暧昧/约会/争执/和解等),再确定主色+辅色与光影方案,避免“剧情对了但情绪不对色” -- **禁用色域** — 高饱和荧光色、强霓虹污染、过度赛博色彩与本风格不兼容 - - ---- - -## 二、光影方案体系 - -- **光影即叙事** — 6 套光影方案对应不同情绪段落,导演规划阶段应在段落层面确定光影基调方向,而非逐镜指定 -- **光源角度** — 正给镜头默认 30° 斜射(较柔和),侧给镜头根据场景与人物关系微调 - -| 光影方案 | 方案名 | 色调倾向 | 适用情绪 | -|---|---|---|---| -| A | 自然漫射 | 米白底 + 均匀柔和光 | 日常通勤、生活流叙事 | -| B | 暖调侧光 | 奶油暖 + 局部暖光 | 升温互动、居家松弛 | -| C | 顶光环境混合 | 中性灰 + 柔和冷白 | 职场节奏、理性沟通 | -| D | 窗光点光源 | 琥珀暖主导 + 冷蓝背景 | 夜晚暧昧、亲密推进 | -| E | 街头霓虹晕光 | 冷色背景 + 暖色点缀 | 都市夜景、浪漫游走 | -| F | 阴天漫射冷光 | 灰蓝主调 + 暖色局部 | 过渡段、低潮段 | - -- **冷暖光分配** — 暖色光可全片使用但需分层控制;冲突/疏离段落降低暖光占比,避免情绪与光色冲突 -- **氛围方向映射** — 每场戏氛围方向应映射到上述光影方案(A-F)的某一方向,确保视觉一致性 - -## 三、质感方向 - -- **超清纪实感** — 真人写实摄影核心:皮肤纹理可见、发丝根根分明、材质细节清晰可信 -- **强对比度 + 极致细节** — 作为画面质感锚点。不是低对比小清新,不是重滤镜氛围化,而是可拍可落地的影视纪实感 -- **材质真实** — 服化道需具备现实可信度:西装面料、玻璃反射、金属器件、木质家具、电子屏幕高光都应符合都市实拍逻辑 -- **皮肤质感** — 保留真实毛孔与细微瑕疵,控制磨皮强度,追求“真实但好看” -- **写实不等于平淡** — 通过构图、景别、运动节奏放大情绪感染力,而非依赖夸张特效与过度后期 - ---- - -## 四、都市场景空间元素 - -都市世界观特有的场景元素及其视觉叙事功能: - -- **窗框/玻璃/门洞** — 天然框架式构图道具,制造空间分层与人物关系距离感 -- **街道/地铁/电梯/写字楼走廊** — 都市节奏载体,通勤与停顿的切换可直接映射角色心理状态 -- **咖啡厅/办公室/居家客厅** — 情绪容器:咖啡厅偏试探,办公室偏克制,居家偏安全与松弛 -- **天气与时段作为转场** — 日转夜、晴转雨、黄昏入夜可用于段落情绪缓冲,避免硬切 -- **转折点用视觉而非解释** — 优先使用画面手段(景别突变、视线错位、空间阻隔)承接情绪转折,减少对白解释负担 - ---- - -## 五、都市乐器与环境音 - -都市世界观下的声音元素约束: - -### 乐器选择 - -- **钢琴** — 日常、温馨、回忆段落核心乐器,最能体现都市生活质感 -- **吉他** — 轻松、街头、慢节奏浪漫段落的有效主导 -- **弦乐** — 情绪抬升与情感爆发段落的主力铺底 -- **Lo-fi/轻电子** — 年轻化、城市夜生活、节奏切换段落的风格增强器 -- **环境音优先级高** — 都市剧中真实环境声是沉浸感关键,配乐不应压过对白 - -### 乐器组合策略 - -| 情绪阶段 | 乐器组合 | -|---|---| -| 平稳/开场/收尾 | 钢琴独奏 或 吉他独奏 | -| 日常推进 | 钢琴 + 轻打击 | -| 暧昧升温/浪漫 | 钢琴 + 弦乐 | -| 情绪爆发/冲突 | 弦乐主导 + 低频铺底 | -| 夜景/转场 | Lo-fi/轻电子 + 环境声 | - -### 都市环境音 - -- **典型环境音层次** — 车流声 / 地铁进站提示 / 电梯提示音 / 咖啡机声 / 键盘敲击 / 雨声 / 空调底噪 / 城市远景噪声 -- **每场戏标注 1-2 个核心环境音**,帮助后续音效设计。环境音层次越准确,都市写实质感越强 - ---- \ No newline at end of file diff --git a/data/skills/art_skills/realpeople_urban_modern/driector_skills/director_storyboard_table.md b/data/skills/art_skills/realpeople_urban_modern/driector_skills/director_storyboard_table.md deleted file mode 100644 index f0c0277..0000000 --- a/data/skills/art_skills/realpeople_urban_modern/driector_skills/director_storyboard_table.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: director_storyboard_table_style -description: 分镜表都市约束 — 定义真人都市写实在分镜表中的光影氛围规范、光源角度、动作节奏、环境动态、运镜禁忌与转场禁忌。适用于任何叙事类型。 -metaData: director_skills ---- - -# 分镜表都市约束 · 真人都市写实 · 技法参考 - ---- - -## 一、分镜表定位 - -分镜表是导演将剧本转化为镜头语言的核心工具。以下仅提供真人都市写实风格在分镜表层面的约束规范。 - ---- - -## 二、光影与氛围 - -- **同场戏光影统一** — 一场戏内不应出现两种以上光影方案,除非有明确的叙事转折(如关台灯→月光冷辉) -- **情绪色盘绑定** — 每场戏至少绑定 1 个情绪场景(如相遇心动/工作争执/约会甜蜜),并在镜头组内保持主色+辅色连续性 -- **光源角度规范** — 正给镜头光源默认 30° 斜射(较柔和),侧给镜头根据画面需要调整。描述光影时须区分正给/侧给的角度差异 -- **冷暖色调与叙事阶段匹配** — 工作/独处/冲突段落保持中性/冷调,暖色调(暖橙+冷蓝背景对比)在情感升温后使用 -- **光影转场是高级手段** — 从自然光(A)渐变到室内暖光(B)= 日转夜的时间流逝。在分镜表中标注光影变化点 - ---- - -## 三、环境动态 - -- **环境动态增加画面呼吸感** — 窗外车灯流动、电脑屏幕闪烁、咖啡杯热气、手机屏幕亮起。每 3-4 个镜头至少安排一个有环境动态的镜头,避免画面"死"掉 -- **都市环境元素优先** — 环境动态应选用都市世界观内的元素:车灯流动、雨滴划窗、咖啡热气、手机屏幕亮灭、窗帘微动、电梯数字跳动,禁止出现与现代都市不兼容的元素 - ---- - -## 四、都市动作节奏 - -- **都市动作要自然** — 所有人物动作默认自然节奏。起身、转身、抬手都应标注"自然"或"随意" -- **道具互动** — 都市场景中手机、咖啡杯、文件、车钥匙等道具的使用是天然的动态资产,可在画面描述中加入道具互动细节,增加生活质感 -- **肢体语言现代化** — 都市人物举止应符合现代都市气质:自信的步态、随性的倚靠、不经意的小动作(拨头发、看手表、咬唇) - ---- - -## 五、运镜禁忌 - -- **禁用快速运镜** — 甩镜、急推、手持晃动与真人都市写实的气质冲突(除非是动作/追逐场景) -- **禁用花式转场** — 划屏、旋转、百叶窗等与本风格不兼容 - ---- \ No newline at end of file diff --git a/electron-builder.yml b/electron-builder.yml index cf57482..5b582c5 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -37,6 +37,9 @@ extraResources: win: target: - target: nsis + arch: + - x64 + - arm64 icon: ./scripts/logo.ico nsis: