OfficeCLI morph-ppt Swiss System 风格:一根“全宽墨黑横条”的六幕 Morph 叙事设计
【免费下载链接】OfficeCLIOfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具,可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源,仅包含一个二进制文件,无需安装 Office 套件。项目地址: https://gitcode.com/iOfficeAI/OfficeCLI
本文围绕 OfficeCLI 仓库morph-ppt技能自带的 Swiss System 风格规格(纯白底 + 墨黑 + 火红)展开:先说明该风格在企业、金融、咨询类场景中的定位与色板约束,再逐幕拆解其核心演员!!rule从“中部细线”到“整页墨黑反转”的六幕横扫编排,并结合技能的三前缀命名、transition=morph机制与交付门禁,给出将该规格落成可运行officecli命令序列的实现路径。读完你可以独立完成一份符合该风格的六页 Morph 演示稿,并知道如何用技能内置的校验循环证明它“真的是 Morph 而不是伪淡入”。
风格在样式库中的位置
morph-ppt技能在 reference/styles/ 下内置了 52 个视觉风格目录,按色板家族(dark / light / warm / vivid / bw / mixed)分组。INDEX.md 的 Black & White 分表中登记了 4 个黑白系风格,其中bw--swiss-system这一行为:
| 目录 | 风格名 | 主色(bg / fg / accent) | 适用场景 | 气质 |
|---|---|---|---|---|
| bw--swiss-system | Swiss System | #FFFFFF / #000000 / #FF0000 | Corporate, finance, consulting, professional services | Clean, systematic, bold |
技能文档对样式库的用法有明确纪律(见 skills/morph-ppt/SKILL.md 的 Style library lookup workflow):把它当作按需查阅的设计灵感库而非模板——先浏览 INDEX 定位,再读style.md理解设计哲学,build.sh只作技法参考(坐标已知有排版问题,不得照抄),最后把“色板选择 + 标志性手势”套用到自己的网格计算上。INDEX.md 顶部的 Important Notice 也强调:Learn the approach, do not copy the code。
需要说明当前仓库状态:bw--swiss-system 目录目前仅包含 style.md,其文末提到的build.py未随仓库提供。因此本文以规格文本为主体,命令实现部分以同族风格bw--swiss-bauhaus的完整构建脚本作为可验证的命令参照。
设计语言:纯白底、墨黑与火红三色
style.md 对 Swiss System 的定义高度凝练:
Pure white background with ink black and fire red only. Features !!rule actor (full-width rect) that sweeps vertically across slides, creating dramatic transformations.
风格元信息完整继承如下:
- 适用场景(Scenario):企业、金融、咨询、高端专业服务
- 气质(Mood):干净、系统化、大胆、瑞士设计(Swiss design)
- 基调(Tone):白底 + 黑红强调
完整色板(规格原文,共 3 色,不允许引入第四色):
| 名称 | Hex | 用途 |
|---|---|---|
| Background | #FFFFFF | 纯白背景 |
| Ink | #000000 | 文字与横条 |
| Fire | #FF0000 | 强调色 |
规格同时声明遵循瑞士设计三原则:网格(grid)、字体排印(typography)、色彩最小化(minimal color)。
放在同族对比中更能看出定位差异:bw--mono-line是灰阶极简、面向学术与咨询报告的克制风格;bw--brutalist-raw同为#FFFFFF / #000000 / #FF0000三色但气质是“反叛、粗粝、冲击”的粗野主义;bw--swiss-bauhaus则用#E63322红与#1C1C1C近黑做严谨几何块面。Swiss System 的差别在于系统化(systematic)——它面向的是正式商务语境,红色只在强调处出现,黑色以“一根横条”的形态贯穿全篇。
核心机制:!!rule 的六幕纵向横扫
整个风格的灵魂是单一持久演员!!rule——一个全宽 INK 矩形,它在 6 页之间纵向横扫、厚度递增,制造戏剧性形变。规格原文的逐幕编排如下(完整继承,未删减):
| 幕 | !!rule状态 | 位置/形态 |
|---|---|---|
| S1 | mid-rule | 中部横条 |
| S2 | top thick | 顶部加粗 |
| S3 | bottom thick | 底部加粗 |
| S4 | thin center | 中部细线 |
| S5 | wide top-third band | 上三分之一宽色带 |
| S6 | full INK inversion | 整页墨黑反转(CTA 页) |
围绕这六幕,规格有两条硬约束:
- Zero darkness until final CTA slide——S1 到 S5 的背景全部是纯白,“黑暗”直到 CTA 页才第一次出现。前 5 页的视觉张力完全来自一根横条的位置/厚度变化,而不是页面明暗切换。
- 关键 Morph 模式(Key Morph Pattern)——规格原文将这条动线赋予叙事语义:
The !!rule actor creates a dramatic journey from subtle horizontal line to complete slide inversion, representing transformation from light to dark, question to answer, problem to solution.
也就是说,这根横条既是装饰也是叙事进度条:从中部细线(提出问题)逐步“生长”为整页墨黑反转(给出答案/行动号召)。这是典型的瑞士式“少即是多”——用一个几何元素承担全篇的连续性记忆点。
底层支撑:Morph 配对与命名约定
style.md只写设计意图,不写机制;机制由上层技能 skills/morph-ppt/SKILL.md 继承提供。理解以下几条,才能解释为什么“同一根!!rule”能在页面之间平滑变形:
- 按名配对:PowerPoint 的 Morph 引擎在相邻页之间用完全相同的形状名配对,并对位置、尺寸、旋转、填充、透明度做插值;名字对不上就静默退化为普通淡入(silent fade)。
- 三前缀命名系统(规格中
!!rule的命名归属依据):
| 前缀 | 角色 | 生命周期 |
|---|---|---|
!!scene-* | 背景/装饰,全篇持久 | 只设一次,靠改变位置/尺寸制造动效,几乎不做 ghost |
!!actor-* | 内容型前景,跨若干页演化 | 第 N 页引入,后续页演化,退出时 ghost 到x=36cm |
#sN-* | 单页内容(标题、要点、脚注) | 第 N 页新建,第 N+1 页 ghost 到x=36cm |
!!rule属于!!演员类:永远不能删除(删除会破坏配对,形状直接消失而无退场动画),退出时只能移画布外。画布规格为 33.87 × 19.05 cm,ghost 坐标约定为x=36cm(越过右边缘)。
transition=morph必须显式设置:Morph 只在“目标页”携带该属性时运行;第 2 页起漏设就会退回母版默认(通常是无转场),动效静默死亡。- 空间多样性(Spatial variety):相邻页至少 3 个配对形状满足位移 ≥ 5cm 或旋转 ≥ 15° 或尺寸差 ≥ 30%,否则 Morph 无可插值内容、坍缩为淡入。对照本风格逐幕:S1→S2(中部→顶部,位移约 9.4cm)、S2→S3(顶部→底部,位移约 15.85cm)、S3→S4、S4→S5、S5→S6(色带扩张为整页),每一对
!!rule的纵向位移或高度变化都远超 5cm 阈值。 - M-1 自动加前缀怪癖:对某页执行
set --prop transition=morph后,该页形状名在回读时会带上!!前缀(如#s1-title回读为!!#s1-title),但@name=路径选择器仍然可解析,无需改写路径。 - 交付门禁 5b-morph-2 的适配:门禁硬断言“每对相邻页 ≥ 3 个
!!前缀形状各在 {x, y, width, height, rotation, font-size} 上至少变化 1 项”。本风格规格只定义了 1 个!!rule;但从门禁的 diff 证明脚本(对两页同名形状逐项比对)与 M-1 前缀机制可以推断:被 ghost 到x=36cm的#sN-*内容在回读时同样带!!前缀、其位移会被计入 diff,因此“单 rule 演化 + 每页内容 ghost”的组合通常能共同满足 3 形状变化量——这是把设计意图落到交付标准时值得用实际回读核验的一点。
命令范式:把规格落成构建脚本
规格文末标注“Complete build script available inbuild.py”,但当前仓库未包含该脚本。同族风格的 bw--swiss-bauhaus/build.sh 提供了同类型“全宽色带重排”编排的完整实现参照——其色块序列(左列 → 顶部条 → 中部带 → 底部填充 → 全覆盖)与 Swiss System 的!!rule动线同属一个编排家族,且展示了officecli的标准命令形态:create建文件、add / --type slide --prop layout=blank --prop background=<HEX>建页(第 2 页起加--prop transition=morph)、add --type shape --prop 'name=!!…'建演员、set --prop x=36cm做 ghost、结尾validate校验。
按 Swiss System 规格等价组装的构建骨架如下(坐标为按规格设定的参考值,任何脚本的坐标都不应照抄):
FILE="swiss-system.pptx" officecli create "$FILE" # S1 — mid-rule:中部横条(唯一深色元素,背景纯白) officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF officecli add "$FILE" /slide[1] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=9.4cm --prop width=33.87cm --prop height=0.5cm officecli add "$FILE" /slide[1] --type shape --prop 'name=#s1-title' \ --prop text='THE QUESTION' --prop font=Arial --prop size=54 --prop bold=true \ --prop color=000000 --prop fill=none --prop x=1.5cm --prop y=3cm \ --prop width=30cm --prop height=4cm # S2 — top thick:顶部加粗;同时 ghost 上一页内容 officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF --prop transition=morph officecli add "$FILE" /slide[2] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=0cm --prop width=33.87cm --prop height=3cm officecli add "$FILE" /slide[2] --type shape --prop 'name=#s2-title' \ --prop text='Context' --prop font=Arial --prop size=40 --prop bold=true \ --prop color=000000 --prop fill=none --prop x=1.5cm --prop y=4cm \ --prop width=30cm --prop height=3cm officecli set "$FILE" "/slide[2]/shape[@name=#s1-title]" --prop x=36cm # S3 — bottom thick:底部加粗(写法同 S2,含本页 #s3-* 内容与 #s2-* ghost) officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF --prop transition=morph officecli add "$FILE" /slide[3] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=15.85cm --prop width=33.87cm --prop height=3.2cm # S4 — thin center:中部细线(回到 S1 附近但更细,制造“呼吸”) officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF --prop transition=morph officecli add "$FILE" /slide[4] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=9.45cm --prop width=33.87cm --prop height=0.15cm # S5 — wide top-third band:上三分之一宽色带,红色强调首次进入 officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF --prop transition=morph officecli add "$FILE" /slide[5] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=0cm --prop width=33.87cm --prop height=6.3cm officecli add "$FILE" /slide[5] --type shape --prop 'name=#s5-accent' \ --prop text='The answer is structural.' --prop font=Arial --prop size=44 --prop bold=true \ --prop color=FF0000 --prop fill=none --prop x=1.5cm --prop y=8cm \ --prop width=30cm --prop height=3cm # S6 — full INK inversion:整页墨黑 CTA(第一次也是唯一一次“黑暗”) officecli add "$FILE" / --type slide --prop layout=blank --prop background=000000 --prop transition=morph officecli add "$FILE" /slide[6] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=0cm --prop width=33.87cm --prop height=19.05cm officecli add "$FILE" /slide[6] --type shape --prop 'name=#s6-cta' \ --prop text='ACT NOW' --prop font=Arial --prop size=60 --prop bold=true \ --prop color=FF0000 --prop fill=none --prop x=1.5cm --prop y=7cm \ --prop width=30cm --prop height=5cm officecli validate "$FILE"要点回顾:!!rule在 6 页中逐页重新添加、同名同族,靠 x/height 变化驱动插值;每页#sN-*内容必须在本页可见、在下一页 ghost 到x=36cm(每页都是独立画布,忘记 re-ghost 会导致旧内容复现,即技能文档中的 M-2 幽灵堆积陷阱);第 6 页背景才允许变黑,此前任何一页出现深色背景都违反规格。多页弧段也可以用 morph-helpers.py 的clone/ghost/final-check子命令自动执行克隆、ghost 与结构检查,减少手写命令量。
交付验证与渲染边界
技能规定的交付门禁对本风格同样适用(继承 pptx v2 Gate 1–5a,外加 4 项 Morph 专项检查):
- 5b-morph-1:已退场的
!!actor-*必须确认x ≥ 33.87cm(画布右缘); - 5b-morph-2:相邻页存在“扁平”风险——本风格需按上文确认 rule 演化 + 内容 ghost 合计满足 3 形状变化量;
- 5b-morph-3:相邻页必须共享至少 2 个
!!前缀名字(本风格每对共享!!rule及 ghost 内容名); - 5b-morph-4:
#sN-*内容不得在第 N+1 页滞留可见区。
任何一条检查循环打印出行,即应 REJECT 并修复后重跑。技能还要求每次交付附带三件套:.pptx(officecli validate通过)、可重跑的构建脚本(build.sh/build.py)、以及包含主题/逐页大纲/配对规划表的brief.md。
最后必须向使用者交代渲染边界:Morph 动效只在 PowerPoint 365、Keynote、WPS 中播放;LibreOffice Impress、Google Slides 网页端、HTML/SVG 查看器以及officecli view html(结构预览)都会呈现为静态画面或普通淡入。技能文档将此归类为[RENDERER-BUG](渲染器运行时边界)而非缺陷——静态截图无法验证动效本身,结构正确性靠上述门禁查询证明,动效质量需在真实播放器中逐页观看确认。
小结
Swiss System 是 OfficeCLImorph-ppt样式库中面向企业/金融/咨询场景的黑白系风格:三色谱(#FFFFFF/#000000/#FF0000)、瑞士网格与排版原则、单一!!rule全宽横条的六幕纵向横扫,以及“直到 CTA 页才反转整页”的零黑暗纪律。其实现完全落在morph-ppt技能的通用机制之上——同名形状配对、三前缀命名、transition=morph、x=36cmghost 与 Gate 5b 校验循环。按规格组装构建脚本、跑完门禁再在 PowerPoint 365 / Keynote / WPS 中实际观看动效,即可交付一份既系统化又具备连续动感的黑白 Morph 演示稿。
【免费下载链接】OfficeCLIOfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具,可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源,仅包含一个二进制文件,无需安装 Office 套件。项目地址: https://gitcode.com/iOfficeAI/OfficeCLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考