From 941554f9d70e5360c81ade1ca3d619b4ecb08e89 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 3 Jul 2026 15:18:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(ppt):=20zongyuan=5Fred=20=E9=80=86?= =?UTF-8?q?=E5=90=91=E9=87=8D=E5=BB=BA=E4=B8=BA=E7=9C=9F=E5=AE=9E=E4=B8=AD?= =?UTF-8?q?=E5=9B=BD=E5=BB=BA=E6=9D=90=E6=80=BB=E9=99=A2=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=20+=20=E4=B8=BB=E5=8A=A8=E6=8F=90=E7=A4=BA(bump=200.38.2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按官方 总院模板.pptx(中国建筑材料科学研究总院)把手搓的 zongyuan_red 重建为真实品牌模板:PowerPoint COM 渲真页 + 解 pptx 抽实测色/字/资产。 - 打包 logo.png(八边形字标,EMF→PNG)/ cover_bg.jpg(总部大楼灰度)/ ending_bg.jpg(材料马赛克);TIFF→压缩 JPG、EMF→透明 PNG - 重写 5 页 SVG 忠实还原:封面(实景铺底+红块)/目录(红斜三角)/ 章节(八边形水印,原件缺按 DNA 合成)/内容(灰底红顶条卡片+底部红条)/ 尾页(材料创造美好世界+Thanks) - 实测身份:主红 #D7000E、目录红 #D52C24、近黑 #181717、辅灰 #6F6F6F/#BCBDBD; 微软雅黑+Arial+方正兰亭黑 - 改写 design_spec.md;补登记 layouts_index.json(此前 dir 在但未注册) - 质检 --template-mode 5 页零 error;finalize 内嵌 8 图 + 全量渲图逐页确认 主动提示:strategist.md §e + SKILL.md 默认主题段各补一条 —— 指向 中国建材总院·CNBM 系汇报(含职称评审)时策略阶段主动把 zongyuan_red 整套模板作为候选点名给用户,点头再按明确路径套入;唯一鼓励主动提模板的 场景,其余仍等明确路径。 Co-Authored-By: Claude Opus 4.8 (1M context) --- PROGRESS.md | 3 + core/__init__.py | 2 +- skills/ppt/SKILL.md | 1 + skills/ppt/references/strategist.md | 2 + .../ppt/templates/layouts/layouts_index.json | 14 +- .../layouts/zongyuan_red/01_cover.svg | 101 +++----------- .../layouts/zongyuan_red/02_chapter.svg | 78 +++-------- .../templates/layouts/zongyuan_red/02_toc.svg | 99 ++++---------- .../layouts/zongyuan_red/03_content.svg | 92 ++++++------- .../layouts/zongyuan_red/04_ending.svg | 66 ++------- .../layouts/zongyuan_red/cover_bg.jpg | Bin 0 -> 76868 bytes .../layouts/zongyuan_red/design_spec.md | 129 ++++++++---------- .../layouts/zongyuan_red/ending_bg.jpg | Bin 0 -> 368001 bytes .../templates/layouts/zongyuan_red/logo.png | Bin 14116 -> 8260 bytes 14 files changed, 204 insertions(+), 383 deletions(-) create mode 100644 skills/ppt/templates/layouts/zongyuan_red/cover_bg.jpg create mode 100644 skills/ppt/templates/layouts/zongyuan_red/ending_bg.jpg diff --git a/PROGRESS.md b/PROGRESS.md index 15ece98..4bcd7d1 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -21,6 +21,9 @@ ## 已完成关键能力 +### 2026-07-03 / ppt 模板 zongyuan_red 逆向重建为真实 中国建材总院 身份(bump 0.38.2) +用户给官方 `总院模板.pptx`(中国建筑材料科学研究总院有限公司)要求"统一按这个来,zongyuan_red"。原 `layouts/zongyuan_red/` 是手搓的红条结构版(深蓝 #1F2A44 + 顶部红条 + 55/45 封面 + PART 章节),与真实文件 DNA 完全不符。PowerPoint COM 渲出 3 档真页(封面/内容/尾页)+ 解 pptx 抽实测:主红 `#D7000E`、目录红 `#D52C24`、近黑 `#181717`、辅灰 `#6F6F6F`/`#BCBDBD`;字体 微软雅黑 + Arial + 方正兰亭黑;八边形品牌 logo(EMF→PNG 透明底)+ 总部大楼灰度实景 + 材料马赛克实景(TIFF→压缩 JPG)。重写 5 页 SVG 忠实还原:封面(实景铺底+顶左 logo&机构全称+居中主红块+白标题)/目录(左上实景+右下大红斜三角+目录标题+白字方块序号,承集团规范斜向分割)/章节(八边形品牌水印+红 PART 胶囊+大标题,原件缺、按八边形 DNA 合成)/内容(左缘红方块+标题+灰分隔线+右上 logo+4 列灰底红顶条卡片+底部红条+页码)/尾页(材料马赛克+"材料创造美好世界"红+Thanks)。打包 logo.png/cover_bg.jpg/ending_bg.jpg 三资产,改写 design_spec.md 反映真实身份,补登记进 layouts_index.json(此前 dir 在但未注册)。质检 --template-mode 5 页零 error;finalize 内嵌 8 图 + svg_preview 全量渲图逐页过目确认与原件一致。**并加主动提示**:strategist.md §e + SKILL.md 默认主题段各补一条 —— 受众/素材/用户机构指向 中国建材总院·CNBM 系(汇报/立项/评审/职称评审/品牌宣讲)时,策略阶段**主动**把 `zongyuan_red` 整套模板作为候选点名给用户(区别于 business-red 仅配色预设),用户点头再按明确路径套入;这是唯一鼓励主动提模板的场景,其余仍等明确路径,不模糊匹配。 + ### 2026-07-03 / web 进度 dock 展开遮挡最新内容(贴底时补触底,bump 0.38.1) 用户报:对话「拉到底部但仍有内容被遮挡看不到」。根因:`#task-progress-dock` 是 `#chat-stream` 上方的 flex 兄弟(`flex-shrink:0`),dock 一展开/长高,`chat-stream` 可视高度就被从顶部挤掉那么多——`scrollTop` 据置不变,原本贴底的内容被推到视口折线以下看不见。而 `chat.js` 直播态 `task_progress` 事件在重渲 dock(=长高)后**早 return,跳过了末尾第 1684 行的贴底兜底**,所以底部不会自动回滚。修:在 `task_progress` 分支 `setTaskProgress` 后补一句 `if (nearBottom) stream.scrollTop = stream.scrollHeight`(与其余事件分支同款贴底逻辑),dock 涨高时把最新内容重新钉到底。只动 `web/static/js/chat.js` 直播路径一处,历史渲染/其他事件不受影响。 diff --git a/core/__init__.py b/core/__init__.py index ba71bfa..4b877ab 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -1,3 +1,3 @@ # zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。 # 改版本只动这一行。 -__version__ = "0.38.1" +__version__ = "0.38.2" diff --git a/skills/ppt/SKILL.md b/skills/ppt/SKILL.md index 21ff6f4..ec4e379 100644 --- a/skills/ppt/SKILL.md +++ b/skills/ppt/SKILL.md @@ -72,6 +72,7 @@ description: 生成 PowerPoint 演示文稿 (.pptx) 文件。✅ 触发:用户 - 商务红 `#C00000` / 中建材等品牌色,作为**候选之一**;**中文政企/集团/科研商务汇报默认就把商务红列进 ≥3 配色候选**(见 strategist.md §e)。用户点名("做成蓝色 / 用我们公司紫色")或素材里有 brand guideline → 按其锁定。 - 现成一款 **`business-red` 商务红品牌预设**(`templates/brands/business-red/`:#C00000 全色表 + 宋体标题 + 实心图标);用户说"红色 / 商务红 / 中建材风"→ 指给他按路径 opt-in,或直接锁其配色。其它品牌/模板同理:**用户给 `templates/` 下明确路径才触发**(见 strategist.md 模板分发),不主动猜、不模糊匹配。 +- **例外(主动提示):中国建材总院系汇报** —— 受众/素材/用户机构指向 **中国建筑材料科学研究总院 · 中国建材(CNBM)系**(工作汇报/立项/项目评审/**职称评审**/品牌宣讲)时,策略阶段**主动**把整套品牌模板 `templates/layouts/zongyuan_red/`(八边形 logo + 品牌红 `#D7000E` + 总部大楼实景铺底,5 页齐)作为候选点名给用户,用户点头再按明确路径套入(见 strategist.md §e "中国建材总院" 提示)。这是唯一鼓励主动提模板的场景;其余仍等明确路径。 --- diff --git a/skills/ppt/references/strategist.md b/skills/ppt/references/strategist.md index c112b33..3e01876 100644 --- a/skills/ppt/references/strategist.md +++ b/skills/ppt/references/strategist.md @@ -123,6 +123,8 @@ Proactively provide a color scheme (HEX values) based on content characteristics > **商务红 default candidate.** For Chinese state-enterprise / group / research-institute business decks (工作汇报 / 述职 / 方案评审 / 年度总结 / 科技成果), offer **商务红 `#C00000`** as one of the ≥3 color candidates by default — it is the conventional, expected business color in this context. Anchor a red-dominant scheme on it: pair with a 鎏金 `#BF9B5F` *or* 沉靛蓝 `#2B4C7E` accent (red-gold or red-blue, pick one as the point accent), warm off-white surface (`#FBF5F5`), and reserve solid `#C00000` for headings / key data / one color block — never a full-canvas red. A ready-made bundle of exactly this (palette + serif-title typography + filled-icon style) ships as the **`business-red` brand preset** (`templates/brands/business-red/`); when the user wants "红色 / 商务红 / 中建材风" point them at it (apply by explicit path per Step 3) or lock its palette inline. +> **中国建材总院 → 主动提 `zongyuan_red` 整套模板.** 当受众 / 素材 / 用户机构指向 **中国建筑材料科学研究总院 · 中国建材(CNBM)系**(工作汇报 / 述职 / 立项 / 项目评审 / **职称评审** / 品牌宣讲)时,除商务红候选外,**主动在 a–h 预览里把 `templates/layouts/zongyuan_red/` 作为一个候选点名给用户**(一句话:"你们总院有现成品牌模板 `zongyuan_red`(八边形 logo + 品牌红 `#D7000E` + 总部大楼实景铺底,封面/目录/章节/内容/尾页 5 页齐),要不要直接套?")。与 `business-red` 的区别:business-red 只是**配色+字体身份预设**(自由设计上皮用);zongyuan_red 是**带真实 logo/实景照片的整套 5 页版式**,要品牌一致、省事就用它。仍是 opt-in —— 用户点头后按 Step 3 以**明确路径**套入锁定其 identity+structure;用户要另起风格 / 换配色就走自由设计,不强推。 + **Color rules**: 60-30-10 rule (primary 60%, secondary 30%, accent 10%); text contrast ratio >= 4.5:1; no more than 4 colors per page. **Lock the full neutral set the visual style implies** — not just primary / secondary / accent / border. Predict the extra neutral tiers the locked `visual_style` (§d Layer 2) needs and lock them now; `spec_lock.colors` must be complete before generation, and the Executor draws only from it (never invents a tone mid-deck). diff --git a/skills/ppt/templates/layouts/layouts_index.json b/skills/ppt/templates/layouts/layouts_index.json index 4c56ab5..9462ad0 100644 --- a/skills/ppt/templates/layouts/layouts_index.json +++ b/skills/ppt/templates/layouts/layouts_index.json @@ -83,5 +83,17 @@ "content", "ending" ] + }, + "zongyuan_red": { + "summary": "中国建筑材料科学研究总院/中国建材集团品牌汇报:政企科研汇报、专项立项、项目评审、职称评审、品牌宣讲。", + "canvas_format": "ppt169", + "page_count": 5, + "page_types": [ + "cover", + "toc", + "chapter", + "content", + "ending" + ] } -} +} \ No newline at end of file diff --git a/skills/ppt/templates/layouts/zongyuan_red/01_cover.svg b/skills/ppt/templates/layouts/zongyuan_red/01_cover.svg index 810ee4b..60fe229 100644 --- a/skills/ppt/templates/layouts/zongyuan_red/01_cover.svg +++ b/skills/ppt/templates/layouts/zongyuan_red/01_cover.svg @@ -1,87 +1,26 @@ - - - - - - - - - - - + + - - + + + - - + + + - - + + + 中国建筑材料科学研究总院有限公司 + China Building Materials Academy - - - + + + {{TITLE}} - - - - - - - - - - - - - - - - - - - - - - - - REPORT · 2026 - - - {{TITLE}} - - - {{SUBTITLE}} - - - - - - - 汇报人 - {{AUTHOR}} - - 汇报日期 - {{DATE}} - - - - - 01 - - COVER PAGE - - - - - - CHINA · RESEARCH INSTITUTE - - - - - - - + + {{SUBTITLE}} + {{AUTHOR}} · {{DATE}} diff --git a/skills/ppt/templates/layouts/zongyuan_red/02_chapter.svg b/skills/ppt/templates/layouts/zongyuan_red/02_chapter.svg index eb7c7d0..366cd5e 100644 --- a/skills/ppt/templates/layouts/zongyuan_red/02_chapter.svg +++ b/skills/ppt/templates/layouts/zongyuan_red/02_chapter.svg @@ -1,66 +1,24 @@ - - - - - - - + + - - + + + - - + + + - - + + + PART {{CHAPTER_NUM}} - - - + + {{CHAPTER_TITLE}} + - - - - - - - - - - - - {{CHAPTER_NUM}} - - - - - PART 0{{CHAPTER_NUM}} - - - - - - - {{CHAPTER_TITLE}} - - - - - - - - - - - - - - - - CHAPTER DIVIDER - - - - 0{{CHAPTER_NUM}} + + diff --git a/skills/ppt/templates/layouts/zongyuan_red/02_toc.svg b/skills/ppt/templates/layouts/zongyuan_red/02_toc.svg index 0273e0b..997fe2f 100644 --- a/skills/ppt/templates/layouts/zongyuan_red/02_toc.svg +++ b/skills/ppt/templates/layouts/zongyuan_red/02_toc.svg @@ -1,74 +1,35 @@ - - - + + - - + + + - - - + + + + + 目 录 + + CONTENTS + + + + + {{TOC_ITEM_1_TITLE}} + + + {{TOC_ITEM_2_TITLE}} + + + {{TOC_ITEM_3_TITLE}} + + + {{TOC_ITEM_4_TITLE}} - - - - - - CONTENTS - - - - - 02 - - - - - - 01 - - {{TOC_ITEM_1_TITLE}} - PART ONE - - - - - 02 - - {{TOC_ITEM_2_TITLE}} - PART TWO - - - - - 03 - - {{TOC_ITEM_3_TITLE}} - PART THREE - - - - - 04 - - {{TOC_ITEM_4_TITLE}} - PART FOUR - - - - - 05 - - {{TOC_ITEM_5_TITLE}} - PART FIVE - - - - - - - 02 - 总院品牌红模板 · CONTENTS - + + diff --git a/skills/ppt/templates/layouts/zongyuan_red/03_content.svg b/skills/ppt/templates/layouts/zongyuan_red/03_content.svg index 46d6f1c..ec6afe0 100644 --- a/skills/ppt/templates/layouts/zongyuan_red/03_content.svg +++ b/skills/ppt/templates/layouts/zongyuan_red/03_content.svg @@ -1,56 +1,48 @@ - - - - - - - - - - - - - + + - - + - - + + - - - + + {{PAGE_TITLE}} + + {{PAGE_SUBTITLE}} + + + + + + + + + + + 要点一 + 说明文字占位 + + + + 要点二 + 说明文字占位 + + + + 要点三 + 说明文字占位 + + + + 要点四 + 说明文字占位 - - - - {{PAGE_TITLE}} - - - - - - - - 核心结论 / KEY TAKEAWAY - 这里放一句断言式的核心观点,用户可替换或删除本区域 - - - - - - - {{CONTENT_AREA}} - 主要内容区:文字 / 图表 / 卡片 / 流程 等 - - - - - - - {{PAGE_NUM}} - 总院品牌红模板 · CONTENT - + + + {{PAGE_NUM}} diff --git a/skills/ppt/templates/layouts/zongyuan_red/04_ending.svg b/skills/ppt/templates/layouts/zongyuan_red/04_ending.svg index f2fc376..8830d14 100644 --- a/skills/ppt/templates/layouts/zongyuan_red/04_ending.svg +++ b/skills/ppt/templates/layouts/zongyuan_red/04_ending.svg @@ -1,57 +1,19 @@ - - - - - - - - + + - - + + + - - + + - - - + + 材料创造美好世界 + {{THANK_YOU}} - - - - - - - - - - - - - - - {{THANK_YOU}} - - - THANK YOU - - - - - - - - Q & A - - - - - - {{CONTACT_INFO}} - CHINA · RESEARCH INSTITUTE - - - - + + {{CONTACT_INFO}} diff --git a/skills/ppt/templates/layouts/zongyuan_red/cover_bg.jpg b/skills/ppt/templates/layouts/zongyuan_red/cover_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..73598f21e05e310e39bbb322347747d145c2aa37 GIT binary patch literal 76868 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 Ge*PcKIO!7r literal 0 HcmV?d00001 diff --git a/skills/ppt/templates/layouts/zongyuan_red/design_spec.md b/skills/ppt/templates/layouts/zongyuan_red/design_spec.md index 34bd82e..c399b47 100644 --- a/skills/ppt/templates/layouts/zongyuan_red/design_spec.md +++ b/skills/ppt/templates/layouts/zongyuan_red/design_spec.md @@ -1,102 +1,93 @@ -# 总院品牌红模板 (zongyuan_red) +# 中国建材总院模板 (zongyuan_red) ## Template Overview - **Template ID**: `zongyuan_red` -- **Display Name**: 总院品牌红 -- **Category**: `brand` / `government` +- **Display Name**: 中国建材总院 +- **Category**: `brand` / `government` / `research-institute` - **Canvas Format**: `ppt169` (1280×720) -- **Applicable Scenarios**: 政府/科研院所汇报、专项立项、项目评审、品牌宣讲 -- **Tone**: 严谨权威、政务正式、品牌辨识度强 -- **Theme Mode**: Light theme (white background + brand red accents + dark navy text) -- **Source**: Adapted from 总院 (China Research Institute) corporate PPT template +- **Applicable Scenarios**: 政企/科研院所汇报、专项立项、项目评审、职称评审、品牌宣讲 +- **Tone**: 严谨权威、政务正式、品牌辨识度强、简洁淡雅 +- **Theme Mode**: Light theme(白/浅灰底 + 品牌红强调 + 近黑文字) +- **Source**: 逆向自 中国建筑材料科学研究总院有限公司(China Building Materials Academy)官方 PPT 模板 `总院模板.pptx`(封面/内容/尾页三档实测,章节/目录页按同一八边形+红斜三角 DNA 合成) ## Color Palette | Role | HEX | Usage | |------|-----|-------| -| Primary (Brand Red) | `#D6000F` | 顶部色条、标题、强调、logo、关键数字 | -| Dark Navy | `#1F2A44` | 副标题、图表主色、深色文字 | -| Neutral Body | `#333333` | 正文文字 | -| Neutral Muted | `#666666` | 辅助/说明文字 | -| Background | `#F5F5F7` | 页面背景(可选白底) | -| Surface | `#FFFFFF` | 卡片/内容面板 | -| Divider | `#E0E0E0` | 分隔线、描边 | -| Takeaway Bg | `#D6000F` @ 0.08 opacity | 结论框浅底 | -| Alert / Emphasis | `#D6000F` | 红色强调(与主色同) | -| Success | `#2E7D32` | 正向指标 | +| Primary(品牌红) | `#D7000E` | logo、主红块、内容页底部红条、卡片红顶条、关键强调 | +| Primary(目录标题红) | `#D52C24` | 目录页"目 录"标题(略哑,与主红区分) | +| Dark Text(近黑) | `#181717` | 机构名、主标题、内容页标题、卡片标题 | +| Neutral Gray | `#6F6F6F` | 副标题、日期、说明文字、页码 | +| Divider Gray | `#BCBDBD` | 内容页标题分隔线、副标题 | +| Card Surface | `#ECECEC` | 卡片底、封面顶/底细边带 | +| Background | `#FFFFFF` | 页面底色 | -> 避免过度使用红色——红色仅用于品牌色条、标题、关键数字;大面积背景保持白/浅灰。 +> 红仅用于 logo / 主红块 / 底部红条 / 卡片红顶条 / 关键数字;大面积保持白与浅灰,红灰为主、简洁淡雅。 ## Typography -- **Primary Font**: Microsoft YaHei -- **Title**: 32px bold, color `#1F2A44` (or `#D6000F` for chapter/emphasis) -- **Subtitle**: 18-20px regular, color `#666666` -- **Body**: 15-16px regular, color `#333333` -- **Data/Number**: Arial Bold, color `#D6000F` -- **Footer**: 12-14px, color `#999999` +- **Primary Font(CJK)**: 微软雅黑(Microsoft YaHei);栈尾 `sans-serif` +- **Latin / 数字**: Arial +- **可选标题体**: 方正兰亭黑(FZLanTingHei-M-GBK,原件封面标题用;未装则回退微软雅黑) +- **Title**: 44–46px bold(封面白字 / 章节近黑) +- **Content Title**: 26px bold `#181717` +- **Subtitle / Body**: 14–20px,`#6F6F6F` / `#BCBDBD` +- **Number / Footer**: Arial,`#6F6F6F` + +## Logo(bundled) + +- **File**: `logo.png` — 红色八边形(八角星镂空)+ "中国建材" 字标,透明底 +- **Usage**: 封面顶左(octagon + 机构全称并排)、内容页右上角、章节/目录白色区角标 +- **禁忌**: 不可置于红底之上(红字标会与红底同色不可见)——红区内改用反白或留白区放置 + +## Bundled Assets + +| File | 用途 | +|------|------| +| `logo.png` | 八边形品牌字标(封面/内容/尾页角标) | +| `cover_bg.jpg` | 总部大楼灰度实景(封面/目录页铺底,配白罩淡化) | +| `ending_bg.jpg` | 材料应用马赛克灰度实景(尾页铺底) | ## Layout Conventions ### Universal Rules -- 顶部 6px 红色品牌色条(内容页通用) -- 右上角 logo 占位区(80×50,距右边 40px) -- 底部页脚(30px 浅灰背景)含页码(右下 arial)和模板信息(左下微软雅黑灰字) +- 画布 16:9(1280×720 / 13.33×7.5 in,英寸×96 = px) +- 实景铺底页(封面/目录/尾页)统一压白罩(`#FFFFFF` fill-opacity 0.30–0.48)让文字浮起 +- 内容页右上角八边形 logo、底部品牌红条为品牌识别核心,禁省略 +- 卡片网格:4 列 × 266px 宽,间距 ≈22px,内容区 y≈150 起 ### Page Structure -1. **Cover (01_cover.svg)** - - 左侧白色主标题区(占 55%) - - 右侧深色/图片区(占 45%,可换图) - - 顶部细红条 + logo 区 - - 底部副标题/日期/作者 - -2. **TOC (02_toc.svg)** - - 左侧"目录"超大红色字 - - 右侧章节列表:红色序号 + 章节标题 - - 顶部红色品牌色条 - -3. **Chapter (02_chapter.svg)** - - 超大背景数字(PART 01,淡红 0.08 透明) - - 红色小胶囊标签 "PART 0N" - - 中央大标题 - - 下方副标题 - -4. **Content (03_content.svg)** - - 顶部:6px 红条 + 标题(32px)+ 分隔线 - - 可选:"Takeaway/结论" 浅红底色条(结论先行) - - 主内容区 40-620 高度 - - 底部页脚 - -5. **Ending (04_ending.svg)** - - 深色渐变背景(`#1F2A44` → `#8B0010`) - - 中央"谢 谢!"超大字 - - "Thank You" 英文副标 - - Q&A 胶囊 - - 底部信息区 +1. **Cover (01_cover.svg)** — 总部大楼灰度铺底 + 顶左 logo & 机构全称(近黑)+ 居中主红块(右满出血)+ 白色主标题 + 副标题/作者/日期 +2. **TOC (02_toc.svg)** — 左上实景区 + 右下大红斜三角 + "目 录"红标题(`#D52C24`)+ 白字方块序号章节条目 + 左下 logo +3. **Chapter (02_chapter.svg)** — 白底 + 右侧八边形品牌水印(呼应 logo)+ 左侧红 PART 胶囊 + 章节大标题 + 红下划线 + 左下 logo +4. **Content (03_content.svg)** — 左缘红方块 + 标题(26px 近黑)+ 灰分隔线 + 右上 logo + 灰底红顶条卡片 + 底部红条 + 页码 +5. **Ending (04_ending.svg)** — 材料马赛克灰度铺底 + 集团口号"材料创造美好世界"(红)+ Thanks + 结束信息 + 右上 logo ## Placeholder Contract | Page | Placeholders | |------|-------------| -| Cover | `{{TITLE}}`, `{{SUBTITLE}}`, `{{DATE}}`, `{{AUTHOR}}` | -| TOC | `{{TOC_ITEM_1_TITLE}}`, `{{TOC_ITEM_2_TITLE}}`, `{{TOC_ITEM_3_TITLE}}`, `{{TOC_ITEM_4_TITLE}}`, `{{TOC_ITEM_5_TITLE}}` | +| Cover | `{{TITLE}}`, `{{SUBTITLE}}`, `{{AUTHOR}}`, `{{DATE}}` | +| TOC | `{{TOC_ITEM_1_TITLE}}` … `{{TOC_ITEM_4_TITLE}}` | | Chapter | `{{CHAPTER_NUM}}`, `{{CHAPTER_TITLE}}` | -| Content | `{{PAGE_TITLE}}`, `{{CONTENT_AREA}}`, `{{PAGE_NUM}}` | -| Ending | `{{THANK_YOU}}`, `{{CONTACT_INFO}}` | +| Content | `{{PAGE_TITLE}}`, `{{PAGE_SUBTITLE}}`, `{{PAGE_NUM}}`(内容区卡片按本页内容重排) | +| Ending | `{{THANK_YOU}}`(默认 "Thanks"), `{{CONTACT_INFO}}` | ## Design Principles -1. **Brand consistency** — 红色色条和顶栏是品牌识别核心,禁止省略 -2. **Conclusion-first** — 内容页优先使用 assertion headline(断言式标题)+ takeaway 条 -3. **Whitespace** — 大面积留白,只让红色出现在关键位置 -4. **Structure clarity** — 清晰的分隔线、统一的 padding(40/60/80 栅格) -5. **Data visibility** — 关键数字用红色 Arial Bold 放大显示 +1. **Brand consistency** — 八边形 logo + 品牌红是识别核心,禁省略/换色 +2. **Restraint** — 红灰为主,红仅点在 logo/红块/红条/红顶条/关键数字;大面积白与浅灰 +3. **Conclusion-first** — 内容页优先断言式标题 + 结论先行 +4. **Whitespace** — 大面积留白,实景铺底页压白罩保持淡雅 +5. **Structure clarity** — 统一分隔线、4 列卡片网格、40/49px 左缘栅格 ## SVG Technical Constraints -严格遵守 PPT Master 全局技术约束: -- 禁用 `mask` / `