十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PPT Master 页间转场与元素对象动画完全指南:从 CLI 到 animations.json 的动效工程化实践

PPT Master 页间转场与元素对象动画完全指南:从 CLI 到 animations.json 的动效工程化实践 PPT Master 页间转场与元素对象动画完全指南从 CLI 到 animations.json 的动效工程化实践【免费下载链接】ppt-masterAI turns documents or topics into real, native PowerPoint decks—with native shapes, transitions and animations,>项目地址: https://gitcode.com/GitHub_Trending/ppt/ppt-master本文是 PPT Master 项目中「页间转场Page Transitions」与「元素对象动画Per-Element Animations」的中文实战指南对应的权威英文契约文档为 animations.md。PPT Master 并不把动效做成嵌入视频的假动画而是将每一页转场与可选的进入、强调、动作路径、退出等对象动画写成真正的 PowerPoint OOXML本文讲解用户层需要做出的全部选择、常用 CLI 命令、animations.jsonsidecar 结构并结合源码说明其锚点规则、校验边界与回读机制读完即可在任意生成项目上独立完成从默认静态到精确编排的动效交付。一、三个动效层级与默认行为PPT Master 把动效拆成彼此独立的几个能力而不是一个笼统的开关页间转场transition——页面与页面之间的视觉过渡元素对象动画per-element animation——同一页内顶层内容组的进入/强调/移动/退出转场音效与对象动画音效sound——默认关闭按需从全局 CC0 库同步进项目。默认行为由动画执行规范与 CLI 实现共同确定层级默认含义页间转场fade0.4 秒页面之间使用克制的视觉过渡元素对象动画none关闭每页一次性完整出现只有当动效确实有助于表达时才开启音效none关闭不复制任何全局声音也不创建project/sounds/目录从设计意图看默认关闭对象动画是一条刻意保持的克制线全页面自动逐条弹出的元素动画是典型的AI 味 deckan unsolicited AI deck tell。每个动效能力都应当按页赢得自己的位置而不是按整份 deck 平均发放。正如执行规范所言Reference — not a constraint——规范只提供可选项是否启用由内容沟通任务决定。修改动效设置不需要重新生成页面换转场、开对象动画都只发生在导出阶段可以继续复用同一份svg_output/无需重跑内容生成。唯一前置条件是默认发布导出要求存在当前匹配且通过的最终 SVG 质量报告若不存在这样的报告需要先运行最终检查并解决其中的阻塞问题再重跑导出脚本。实现上导出 CLI 位于 svg_to_pptx.py其参数解析在 svg_to_pptx/pptx_package/cli.py帮助文本从L820附近开始详细解释了转场与动画两类参数。二、常用操作一张命令速查表针对需要动效但不打算写 sidecar的常见诉求以下命令全部可用project为项目目录例如examples/ppt169_glassmorphism_demo目标命令保持默认设置python3 skills/ppt-master/scripts/svg_to_pptx.py project更换页间转场python3 skills/ppt-master/scripts/svg_to_pptx.py project -t push关闭视觉转场python3 skills/ppt-master/scripts/svg_to_pptx.py project -t none每 5 秒自动翻页python3 skills/ppt-master/scripts/svg_to_pptx.py project --auto-advance 5开启自动元素入场python3 skills/ppt-master/scripts/svg_to_pptx.py project -a auto全部使用同一种入场效果python3 skills/ppt-master/scripts/svg_to_pptx.py project --animation entrance_fade单击逐个揭示元素python3 skills/ppt-master/scripts/svg_to_pptx.py project -a auto --animation-trigger on-click所有元素同时入场python3 skills/ppt-master/scripts/svg_to_pptx.py project -a auto --animation-trigger with-previous放慢逐步揭示节奏python3 skills/ppt-master/scripts/svg_to_pptx.py project -a auto --animation-duration 0.5 --animation-stagger 0.8关键参数的 CLI 定义可参考 cli.py-t/--transition原生效果名、兼容输入或none默认fade-t none只关闭视觉转场不会移除显式设置的自动翻页计时--transition-duration转场时长单位为秒默认0.4--auto-advance自动翻页间隔秒。点击仍始终可用即点击或计时器到期二选一先到先翻页省略则完全由演讲者控制-a/--animation对象动画模式/效果默认none-a auto是最常用的整 deck 开启方式--animation-triggerStart 模式见下文--animation-duration/--animation-stagger基础时长与逐组间隔。注意-a auto配合默认after-previousStart 模式时内容组按固定的--animation-stagger间隔级联出现而不是跟随旁白 cue。若需要对象揭示与录制旁白逐句同步那属于音频阶段的工作由narration_animations.json派生完成见 audio-narration.md。三、选择页间切换按相邻页的语义关系选而不是按画廊效果选执行规范给出了五步决策 playbookRelate → Diagnose → Select → Coordinate → Stop先判断目标页与来源页的关系是延续同一对象/空间、有方向的推进、新章节开场还是刻意打断连续性再命名这个转场的职责中性延续、直接切走、方向性推进、对象/状态延续、空间移动、主题节拍然后选能完成该职责的最小家族统一方向、时长与出现频率若换一种效果不加任何表达意义就保留fade或none。PPT Master 根据相邻页关系给出如下优先考虑表相邻页面关系优先考虑同一章节内的普通连续叙述fade无需保留连续性的直接切换none或cut有明确方向的步骤、时间线或可见层级推进按语义方向使用push、wipe、cover或uncover同一对象或场景的位置、尺寸、裁切或外观发生变化morph章节开场、关键揭示或明显状态边界少量使用split、reveal、shape、flash或random_bars重复内容在同一空间框架中连续推进pan、conveyor或ferris_wheel单个对象需要保持身份时使用 Morph视点围绕或穿越一个连续空间rotate、window、orbit或fly_through主题适合舞台、纸张或实体翻页隐喻少量使用fall_over、drape、curtains、wind、prestige、peel_off、page_curl、airplane、origami或doors破坏性节点表达断裂、坍塌或消散少量使用fracture、crush、dissolve、vortex或shred关键揭示适合几何、计时或纹理图案少量使用checkerboard、blinds、clock、ripple、honeycomb、glitter或comb卡片、面板、图库或视角发生可见翻面少量使用switch、flip、gallery、cube、box或zoom两条铁律不要只为制造变化而更换效果只有当不确定性本身就是意图时才使用random。random绝不用于看起来丰富一些。3.1 48 个规范转场标识覆盖完整画廊规范注册表收编了 PowerPoint 效果库的三个完整分组共48 个规范转场标识细微Subtle平滑morph、淡入/淡出fade、推入push、擦除wipe、分割split、显示reveal、切入cut、随机线条random_bars、形状shape、揭开uncover、覆盖cover、闪光flash华丽Exciting跌落fall_over、悬挂drape、帘式curtains、风wind、上拉帷幕prestige、折断fracture、压碎crush、剥离peel_off、页面卷曲page_curl、飞机airplane、日式折纸origami、溶解dissolve、棋盘checkerboard、百叶窗blinds、时钟clock、涟漪ripple、蜂巢honeycomb、闪耀glitter、涡流vortex、碎片shred、切换switch、翻转flip、库gallery、立方体cube、门doors、框box、梳理comb、缩放zoom、随机random动态内容Dynamic Content平移pan、摩天轮ferris_wheel、传送带conveyor、旋转rotate、窗口window、轨道orbit、飞过fly_through。新的 sidecar、计划、转换轨迹与输出一律只使用规范标识。旧标识strips、circle、diamond、newsflash、plus、pull、wedge、wheel仅保留为兼容输入写入前会被反糖化desugar为原生效果加对应效果选项例如diamond→shapeshape: diamondwedge→clockstyle: wedge。效果真正的 PowerPoint 效果选项写在transition.effect_options中。方向Push/Wipe 方向、形状Shape 几何、图案Glitter 图案/方向、Morph 范围object/word/character、黑场Reveal through black、卷页数量、飞过弹跳等参数都会按所选效果严格校验。运行python3 skills/ppt-master/scripts/pptx_animations.py --describe-transition effect即可查看某个效果精确接受的选项取值。未知效果、不适用的效果选项或非法/非有限时长会直接让导出失败绝不会被悄悄降级成fadeno silent downgrade。需要较新 Office 命名空间的效果会写成mc:Choice携带真实 PowerPoint 效果 fade回退供旧版消费者使用但校验要求的是请求的主效果从不把回退当作静默替代。3.2 Morph两页之差就是动画本身Morph 是这套体系里最值得强调的通用机制任何连续动作都可以被创作成两张静态页 一个 Morph 转场整条流水线中不存在关键帧时间线。复制页面、只改动某个对象的一个属性PowerPoint 会插值出其余过程。执行规范给出了一组改动 → 读感映射两页之间的改动读感对象从画布外移到画布内滑入、抽屉拉出、卡片展开对象旋转翻转、转动、合页图片容器放大镜头推近遮罩透明度下降或剪裁轮廓生长渐进揭示同一张宽图移动两个x偏移镜头平移硬规则Morph 几何是创作决策配对是后来的执行决策。导出器无法替作者发明两个可见端点状态——因此要在svg_output/构建阶段就把两张相邻页都写好。若对象的跨页身份必须确定deterministic则需在目标页声明显式配对见下文 §6.2导出器会按 Microsoft 强制对象匹配约定在两个对象上写入相同的!!key选择窗格名称。未声明配对时-t morph把匹配交给 PowerPoint 启发式算法不能证明目标对象一定会做平滑 tween可能变成交叉淡入。Morph 另有一些创作要领给文字留出来处Morph 只对两页都存在的对象做 tween只存在于第二页的文字只能淡入。标准修法是把下一页的文案放在当前页画布正下方画布外把上一页文案放在画布上边缘外——文字随翻页从画面中滑过整份 deck 读起来像一块连续滚动表面。完全在画布外的端点必须是合法的直接根g id并携带有效 bounds 与data-pptx-morph-stagingtrue标记并应在 §6.2 下显式配对。不支持的 ZoomSlide Zoom / Summary Zoom点击人像跳转到某章节没有导出路径需要点击驱动导航请用普通对象动画的trigger_shape或普通超链接实现。无 3D透视旋转、挤出与剪切都不在 SVG 契约内skewX/skewY与剪切矩阵直接 fail closed请用 2D 手段偏移、缩放、重叠、分面明度制造同样印象。四、选择 Start 模式Start 模式镜像的是 PowerPoint 动画窗格里的 Start 下拉框三种取值Start 模式行为适用场景on-click每次单击显示一个内容组由演讲者控制节奏的现场演示with-previous页面出现时所有内容组同时入场一次协调完成的整体入场after-previous默认各内容组无需点击按顺序自动出现展厅循环、录屏走查和旁白 deck命令行用--animation-trigger on-click|with-previous|after-previous选择。节奏上建议一份 deck 保持一个主导节奏、通常每页一种模式只有当某个语义节拍确实需要同时或由演讲者控制时才混合。重要约束--recorded-narration不支持on-click——带旁白或用于视频导出的 deck 应使用after-previous或with-previous。录制旁白不接受任何最终解析为on-click的动画行含trigger_shape行。此外--no-animations会禁用页面/对象动效但保留旁白音频与录制翻页计时。PowerPoint 单独的Trigger → On Click of行为对应行级trigger_shape它把某一行链接到另一个顶层内容组而未被链接的行保持页面 Start 模式——它不是第四种整 deck Start 模式详见 §6。五、选择对象动画先定生命周期再选视觉默认none。只有对象运动承担明确沟通任务时才开启且必须先按初始 → 动作 → 结束的生命周期分类再选效果沟通任务选择使用边界按阅读或旁白顺序揭示信息auto或原生entrance_*这是最常见的对象动画场景让已经可见的对象重新获得关注显式emphasis_*不用于对象第一次出现表达有意义的空间或因果移动显式path_*或在相邻页间使用 Morph路径本身应承载意义刻意设计的背景氛围运动属于高级例外在同一页移除、替换内容或腾出空间显式exit_*普通翻页已经会移走旧页面为通用进入效果增加确定性或固定种子变化mixed或random两种模式仍只选择进入效果没有明确的运动任务none保持静态5.1 注册表203 个原生对象预设 29 个兼容输入pptx_animations.py模块 docstring 见L1-L59持有一份严格的单向注册表203 个 PowerPoint 原生对象预设53 个进入entrance_*、33 个强调emphasis_*、64 条动作路径path_*、53 个退出exit_*。每个原生标识携带完整的 PowerPoint 行为树而不是一个通用滤镜近似。示例包括entrance_bounce、emphasis_spin、path_circle、exit_faded_zoom29 个旧兼容短名称如appear、fade、fly、fly_left、zoom、wipe_left、split、wheel……仅作为兼容输入接受新输出永不选择它们。运行以下命令可查看完整分类清单与单个效果的参数契约python3 skills/ppt-master/scripts/pptx_animations.py --list python3 skills/ppt-master/scripts/pptx_animations.py --describe entrance_fly兼容名称在选择与写入前会归一化例如fade解析为entrance_fade所有旧 Fly 方向名统一映射到entrance_fly所有旧 Wipe 方向名统一映射到entrance_wipe——方向会保留为effect_options参数而不是形成新的规范预设旧wheel保留四辐语义映射到entrance_wheel。auto、mixed、random三种模式只会选择进入效果强调、动作路径与退出必须使用显式规范标识。5.2 auto / mixed / random 三种自动模式的差异auto只承担通用enter职责按 SVG 组 id 的语义映射到规范进入效果图表/表格/时间线 →entrance_wipe卡片/步骤 →entrance_fly标题/要点 →entrance_fade图片类 idhero/figure-/image/img-/kpi在一个视觉池entrance_zoom/entrance_dissolve/entrance_circle/entrance_box/entrance_diamond/entrance_wheel内轮换使多张图片在全 deck 上各有变化未匹配 id 在fade/wipe/fly/zoom小池内轮换。mixed兼容模式名确定性轮换每页第一个动画组用entrance_fade后续组按顺序在 16 效果的规范进入池中轮换。random从同一规范进入池做种子化采样——种子来自有效 deck 输入因此同一份输入永远得到同一组选择开启诊断时可借助--conversion-trace记录每个解析出的效果。entrance_appear因无可视运动而被排除在所有变化池之外auto/mixed/random永远不能满足一个已接受的强调/移动/退出职责。六、自定义具体对象animations.json sidecar当整份 deck 的统一设置不够用时——例如要让同一对象进入 → 移动 → 获得强调 → 退出——就需要项目根目录的animations.jsonsidecar。工作流如下# 1) 列出真实分组语义归组后的顶层 g id 锚点 python3 skills/ppt-master/scripts/animation_config.py list-groups project # 2)可选基于真实锚点生成中性可编辑 scaffold python3 skills/ppt-master/scripts/animation_config.py scaffold project # 3) 导出前校验引用 python3 skills/ppt-master/scripts/animation_config.py validate project # 4) 导出存在 project/animations.json 时 svg_to_pptx.py 会自动读取 python3 skills/ppt-master/scripts/svg_to_pptx.py project三个子命令由 animation_config.py 提供list-groups打印归组后的真实顶层锚点scaffold写出中性编辑起点可用--force覆盖、-o指定输出validate校验配置值与项目内引用。scaffold 是可选的中性起点其默认对象效果为none未修改的{}分组条目不会开启动画——创建它并不会让整份 deck 进入动效状态。6.1 sidecar 锚点与 effects[] 多记录模型sidecar 以稳定的顶层g id...内容组为目标。group ID 是 PowerPoint shape target 锚点不等同于 Animation Pane 中的一行兼容的单效果对象仍生成一行effects[]可以生成多条有序记录并让它们共同指向同一个 shape。执行规范用03_threshold页给出一个完整示例{ version: 1, slides: { 03_threshold: { animation: { trigger: after-previous }, groups: { risk-marker: { effects: [ { effect: entrance_fade, order: 1, duration: 0.25 }, { effect: path_right, effect_options: { relative: true }, order: 2, delay: 0.1, duration: 0.7 }, { effect: emphasis_teeter, order: 3, trigger: with-previous, duration: 0.45 }, { effect: exit_fade, order: 4, trigger_shape: details-button, duration: 0.3 } ] } } } } }写入规则slides的键与 SVG 文件名对应03_market.svg→03_marketgroups的键对应顶层g id锚点一个已填写的分组只能二选一旧单效果字段形式或{ effects: [...] }effects必须非空、与所有旧单效果字段互斥且每一行都要显式声明effect未触碰的 scaffold{}只是中性占位符旧单效果形式里的effect: none可以把该组从对象动画序列中移除适合覆盖继承来的通用动画order在同一页内给普通动画行排序同 order 先按 SVG 组顺序再按数组顺序排序永不改变图层trigger_shape行保留在独立交互序列中不与主序列交织录制旁白--recorded-narration不接受任何最终解析为on-click的行——包括trigger_shape行。6.2 动画行字段与定时修饰常用动画行字段如下完整 schema 由动画执行规范维护字段用途effect选择一个显式效果旧单效果形式可用none让对象保持静态trigger覆盖本行的 Start 模式省略时继承页面动画 triggerorder设置普通动画行的整页顺序且不改变图层trigger-shape 行保留在独立交互序列中delay给本行解析后的 Start 行为增加等待时间duration覆盖本行的动画排程时长effect_options设置效果适用的direction、amount、color、font_name、relative或sizetrigger_shape单击另一个顶层内容组时触发本行PowerPoint单击下列对象时计时修饰repeat_count/repeat_duration互斥、auto_reverse、rewind、accelerate、decelerate、bounce_end与restart播放完成after_effectnone、变暗、隐藏或下次单击时隐藏声音提示可选的项目级sound路径内置库声音按 §七 的流程按需同步effect_options接受什么由该效果实际暴露给 PowerPoint 的参数决定不允许无中生有选项适用效果directionFly/Crawl/Wipe/Peek/Strips/Split/Stretch/Zoom 等有方向的进出效果amountWheel 辐条数1/2/3/4/8、强调 Spin 角度或透明度比例color支持颜色的强调效果#RRGGBB或theme:scheme-colorfont_nameChange Fontemphasis_change_font必填须是目标环境已安装的具体 PowerPoint 字体名不能写 CSS 字体列表sizeGrow/Shrinkrelative动作路径true 相对形状false 固定幻灯片路径规则要点order、delay、duration、trigger、trigger_shape都按行独立解析页面级动画 trigger 只负责提供继承值trigger_shape隐含on-click若同一行也显式写了trigger其值必须是on-click速度由duration控制平滑开始/结束由accelerate/decelerate控制比例取值0..1bounce_end需要插值行为不能与decelerate同用restart取值always/when-not-active/neverafter_effect取值none/dim配color/hide/hide-on-next-clickSpeed与平滑开始/结束不是冗余 sidecar 字段它们分别由duration与accelerate/decelerate派生段落/文字范围 build 字段有意缺席分组 SVG 内容不会作为段落 build 输出4 个媒体播放命令play/pause/stop/从书签播放需要媒体或书签目标仍由音视频工作流负责。仓库自带的可运行示例 examples/ppt169_glassmorphism_demo/animations.json 演示了带defaults继承块的写法defaults.animation声明全 deck 进入效果与节奏随后每页只写覆盖项如01_cover页为bg、cover-footer声明effect: none保持静态。这正好印证继承规则sidecar 与defaults块都是可选的未列出的页与省略的字段依次继承defaults.transition/defaults.animation再落到 CLI/导出器解析显式 CLI 标志覆盖对应 sidecar 默认/页面字段除非-a none硬关闭全部对象动效显式分组覆盖保持生效。6.3 确定性 Morph 对象配对跨页身份的强制配对与groupsAnimation Pane 行是两套独立的模型Morph 拥有跨页身份groups拥有页内动画行。配对块写在目标页的morph字段中{ version: 1, slides: { 02_detail: { transition: { effect: morph, effect_options: { morph_by: object }, duration: 0.8 }, morph: { from: 01_overview, pairs: { hero-image: { from: hero-overview, to: hero-detail } } } } } }配对规则morph.from必须是导出顺序中紧邻的上一张 SVG 文件名animation_config.py scaffold从不猜测跨页身份配对须在查看最终直接根 id 后按语义运动计划手动添加每个pairs键是一个稳定身份其from/to是源页与目标页上唯一的直接根g id值。键不带!!书写导出器会按 PowerPoint Selection Pane 名称约定在两端对象上写入!!key声明了显式配对的目标页必须显式设置effect: morphmorph_by可省略默认object或显式为objectword/character会被拒绝CLI 转场覆盖若改变了解析效果则导出失败中间页可以带着同一对象继续进入下一段 Morph但同一组必须保持同一键一键不能命名一页上的两个对象一个对象不能携带两个键相邻两页共享的所有!!键都必须在该目标页pairs中声明未声明的强制匹配会被拒绝显式配对可与页内对象动画共存且-a none关掉 Animation Pane 行时它仍生效--no-animations才禁用 sidecar 与全部页面/对象动效导出器把两个组 id 解析为最终 Slide-local PowerPoint shape在 Master/Layout 处理之后才写名称随后重开包校验相邻性、Morph by object、每页单名与 OOXML 对象类型匹配。目标缺失、结构性问题、被移动、歧义或类型不匹配都会直接失败而不是退回自动 Morph 匹配。6.4 常见高阶配方的机制拆解执行规范整理了四种高频组合均用上面已定义的机制搭建不需要任何新能力轮播Morph固定一排卡片外框让内容在框内逐页前移一位——每页所有图片都前进一个位置中间卡片变化而外框不动每个移动内容单元在相邻页间显式配对固定框保持静态无需配对任意数量的图片一张一页即可扩展。里程表/计数数字morph 或动作路径用背景填充矩形上下夹出一个固定窗口构建 0–9 竖排数字条让目标数字落入窗口随后两页间 Morph或对条带做一次path_up。加0.1s左右的小 stagger 可以让各数字列依次稳定。视差纵深morph两页之间背景层移动短距离、前景层移动长距离行程差被读成纵深。注意两页上所有层 z-order 必须一致——层叠顺序改变的层会打断 tween转场变成跳动。翻牌/点击揭示trigger_shape把正面组与背面组放在同一位置给正面一个退出、背面一个进入把背面的trigger_shape指向正面的 id——点击正面即同时播放两者。这是点击驱动交互的受支持路线PowerPoint 的 Zoom 对象不在支持范围内。6.5 锚点逻辑顶层g id...与静态外壳不动元素动画锚定在 SVG 的顶层g id...内容组例如g idcover-title、g idcard-1id 在页内必须唯一。对扁平 SVG根下只有裸rect/text/path有回退规则可见顶层基元 ≤ 8 个时各自成为一个锚点上限为避免稠密页面产生 70 原子级联 8 个则该页跳过对象动画页面照常渲染。无论是否计划做动画作者都应按共享标准要求用g id包裹逻辑区块。两类对象始终保持静态任何 sidecar 都不能让它们动起来静态结构背景、Master/Layout 内容、placeholder 与页面框架标记了data-pptx-layer或显式静态角色/占位符的内容为绝对约束对无标记的旧 SVG类似外壳的 idbackground、header/footer、decor、watermark、页码、nav、logo、rule按命名启发式跳过——显式 sidecar 条目只能覆盖这一层命名启发式不能覆盖data-pptx-layer或显式静态标记。规范建议保留 wrapper 并用effect: none表达静态内容。注意SVG 中既有的分组层次只是实现证据不是权威运动计划自定义动画阶段应从语义主张、对比、序列、因果、旁白节拍重新推导运动单元先重组再list-groups不要为了凑数去拆或并单元。七、在确定动效后添加声音音效默认关闭且必须先确定动效、后选声音。PPT Master 内置了全局 CC0 音效检索库但不会在策略阶段或普通项目初始化时把它复制进项目。正确顺序是先完成 SVG 页面并确定视觉转场/对象动画只有当其中某个已确定的节拍确实需要听觉提示时才检索并同步声音# 检索列出带命名空间/id 的内置声音 python3 skills/ppt-master/scripts/sound_sync.py list --query whoosh # 同步只把选中的声音文件复制到 project/sounds/namespace/ python3 skills/ppt-master/scripts/sound_sync.py \ project bigsoundbank/1797 kenney-interface/click_001第二条命令只会把选中的文件复制到project/sounds/namespace/。没有选中任何声音时PPT Master不会创建项目的sounds/目录也不复制任何文件。sound_sync.py 是唯一的库内检索/物化入口recommended只是便于检索的保守推荐集合不会自动添加声音python3 skills/ppt-master/scripts/sound_sync.py list --query recommended配置里始终引用复制后的项目相对路径不直接引用全局templates/sounds/路径也不把声音库 id 写进 sidecar。带转场音与对象音的最小 sidecar{ version: 1, slides: { 02_process: { transition: { effect: push, sound: sounds/bigsoundbank/1797.wav }, groups: { next-step: { effect: entrance_fade, sound: sounds/kenney-interface/click_001.wav } } } } }边界说明transition.sound使用WAV对象动画行的sound仍兼容项目相对或绝对.m4a、.mp3、.wav输入内置库统一为 WAV应使用同步后的项目相对路径只有转场声音时可以使用稀疏animations.json页面级transition.sound: null可清除继承的默认转场声音effect: none仍可携带转场音与自动翻页而不会恢复视觉效果导出前仍须校验不要为了展示项目具备音效能力而强行添加声音。关键的交付边界上述校验只能证明可编辑 PPTX 含有原生 cue不能证明 PowerPoint 导出的 MP4 音轨含有它。直接交付带旁白且含音效 cue 的视频时应按 audio-narration.md 走两条互斥路径之一选择验收后的原生导出混音由video_sound_mix.py接收单驱动或显式采用捕获系统音频的 PowerPoint 实时放映录制两条路径不能叠加且不要把后期增益/限幅设置写进animations.json。八、校验与兼容性边界PPT Master 对动画设置的校验是**严格失败fail closed**式的未知效果或 Start 模式、非法计时、缺失页面/分组引用、自触发以及尝试给结构层对象加动画都会直接失败绝不会静默改成另一种行为。生成的导出还会回读每页的计时树并核对行数/顺序含同一 shape 上的重复行、trigger、trigger shape、shape 目标、预设类、解析出的效果元组、原生行为签名、时长与时间线偏移包校验再检查根级计时放置、唯一合法的p:cTnid 与每个p:spTgt引用。确定性 Morph 还要复查最终相邻 slide 部件的!!名称、一对一唯一性、兼容对象类型与目标页真实的 Morph-by-object 转场。导出在替换现有产物前会回读候选 PPTX。边界对用户的影响动画目标元素动画作用于逻辑顶层内容组锚点一个锚点可以拥有多条 Animation Pane 记录静态结构背景、Master/Layout 内容、placeholder 与页面框架保持静态不支持的对象 build不会从分组 SVG 推导段落/文字范围 build、自定义自由动作路径、原生 Chart/SmartArt 分步 build 或媒体播放命令输出路线动画存在于从svg_output/生成的原生 PPTXsvg_final/只是静态预览把它作为单张 SVG 图片插入不会产生对象锚点现有 PPTX 路线Template Fill 与 Native Enhance 保留源对象动画不把它翻译成生成路线的动画模型PPTX-to-SVG 回导pptx_to_svg.py 复用同一生成转场回读校验器只重建当前注册表内具有精确原生时长且可唯一映射到顶层 group 的记录高级/build/media timing 保留诊断并直接保留不推断任何计时值播放兼容性Microsoft PowerPoint 桌面版是主要验证目标Keynote、WPS、LibreOffice 与较旧 Office 可能重新映射或忽略个别效果效果行为树以 PowerPoint OOXML 为兼容目标值得注意的实现细节作者侧direct-PPTX路线会先对源对象动画计时做指纹记录在允许的编辑前后各自做结构包校验它们不创作也不归一化动画效果旁白注入保留动画并在存在弹跳计时的行上同步更新p14的 Choice/Fallback写入器不会为分组或图片输出p:bldPdirect-PPTX 保留模式容忍早期 PPT Master 导出遗留的未改动p:bldP行新生成的包保持严格。九、实操决策路径速览面对一份真实 deck推荐的决策顺序是不要动python3 skills/ppt-master/scripts/svg_to_pptx.py project——绝大多数叙述性 deck 到此为止只调转场按 §三 的相邻页语义表选择-t必要时补--transition-duration想表达跨页对象延续就创作两张端点页并-t morph需确定性身份时加 sidecarmorph.pairs全 deck 通用入场-a auto 合适的--animation-trigger--animation-duration/--animation-stagger单对象生命周期编排animation_config.py list-groups看真实锚点 → 写稀疏animations.jsondefaults 受影响页 effects[]→validate→ 重导出需要听感动效定稿后再sound_sync.py list检索、只同步选中 id、用项目相对路径引用转视频带旁白 deck 不用on-click/trigger_shape音效按 audio-narration.md 走原生混音或实时录制二选一。需要进一步深入时仓库内的权威材料包括动画执行规范默认值、sidecar 语义、锚点选择、校验与回读的完整契约、svg-pipeline.mdCLI 全量说明、customize-animations后处理阶段见 customize-animations.md当用户要求 AI 调整具体对象时由该阶段负责以及实际的动效 sidecar 案例 examples/ppt169_glassmorphism_demo/animations.json。当 AI 需要按用户口头要求为具体对象定制动画时也应走该阶段而非绕过校验直接写 OOXML。【免费下载链接】ppt-masterAI turns documents or topics into real, native PowerPoint decks—with native shapes, transitions and animations,>项目地址: https://gitcode.com/GitHub_Trending/ppt/ppt-master创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表