完善打包程序
This commit is contained in:
parent
790526965a
commit
950011eecb
22
.github/workflows/debug.yml
vendored
22
.github/workflows/debug.yml
vendored
@ -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
|
||||
|
||||
|
||||
167
.github/workflows/release.yml
vendored
167
.github/workflows/release.yml
vendored
@ -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**。
|
||||
|
||||
|
||||
@ -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 个核心环境音**,帮助后续音效设计。环境音层次越准确,都市写实质感越强
|
||||
|
||||
---
|
||||
@ -1,47 +0,0 @@
|
||||
---
|
||||
name: director_storyboard_table_style
|
||||
description: 分镜表都市约束 — 定义真人都市写实在分镜表中的光影氛围规范、光源角度、动作节奏、环境动态、运镜禁忌与转场禁忌。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜表都市约束 · 真人都市写实 · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、分镜表定位
|
||||
|
||||
分镜表是导演将剧本转化为镜头语言的核心工具。以下仅提供真人都市写实风格在分镜表层面的约束规范。
|
||||
|
||||
---
|
||||
|
||||
## 二、光影与氛围
|
||||
|
||||
- **同场戏光影统一** — 一场戏内不应出现两种以上光影方案,除非有明确的叙事转折(如关台灯→月光冷辉)
|
||||
- **情绪色盘绑定** — 每场戏至少绑定 1 个情绪场景(如相遇心动/工作争执/约会甜蜜),并在镜头组内保持主色+辅色连续性
|
||||
- **光源角度规范** — 正给镜头光源默认 30° 斜射(较柔和),侧给镜头根据画面需要调整。描述光影时须区分正给/侧给的角度差异
|
||||
- **冷暖色调与叙事阶段匹配** — 工作/独处/冲突段落保持中性/冷调,暖色调(暖橙+冷蓝背景对比)在情感升温后使用
|
||||
- **光影转场是高级手段** — 从自然光(A)渐变到室内暖光(B)= 日转夜的时间流逝。在分镜表中标注光影变化点
|
||||
|
||||
---
|
||||
|
||||
## 三、环境动态
|
||||
|
||||
- **环境动态增加画面呼吸感** — 窗外车灯流动、电脑屏幕闪烁、咖啡杯热气、手机屏幕亮起。每 3-4 个镜头至少安排一个有环境动态的镜头,避免画面"死"掉
|
||||
- **都市环境元素优先** — 环境动态应选用都市世界观内的元素:车灯流动、雨滴划窗、咖啡热气、手机屏幕亮灭、窗帘微动、电梯数字跳动,禁止出现与现代都市不兼容的元素
|
||||
|
||||
---
|
||||
|
||||
## 四、都市动作节奏
|
||||
|
||||
- **都市动作要自然** — 所有人物动作默认自然节奏。起身、转身、抬手都应标注"自然"或"随意"
|
||||
- **道具互动** — 都市场景中手机、咖啡杯、文件、车钥匙等道具的使用是天然的动态资产,可在画面描述中加入道具互动细节,增加生活质感
|
||||
- **肢体语言现代化** — 都市人物举止应符合现代都市气质:自信的步态、随性的倚靠、不经意的小动作(拨头发、看手表、咬唇)
|
||||
|
||||
---
|
||||
|
||||
## 五、运镜禁忌
|
||||
|
||||
- **禁用快速运镜** — 甩镜、急推、手持晃动与真人都市写实的气质冲突(除非是动作/追逐场景)
|
||||
- **禁用花式转场** — 划屏、旋转、百叶窗等与本风格不兼容
|
||||
|
||||
---
|
||||
@ -37,6 +37,9 @@ extraResources:
|
||||
win:
|
||||
target:
|
||||
- target: nsis
|
||||
arch:
|
||||
- x64
|
||||
- arm64
|
||||
icon: ./scripts/logo.ico
|
||||
|
||||
nsis:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user