Skip to content

Releases: Shingwha/open-pptd

v2.0.2

Choose a tag to compare

@github-actions github-actions released this 30 Sep 15:18

本版为 DeepSeek Harness(DSH)深度集成补齐引擎侧接缝:独立编辑器页可作为嵌入引导路径(站点前缀、chrome 档位、宿主主题注入),并程序化导出静态解析与渲染管线。全部为纯新增,缺省行为与 2.0.1 逐字节一致,已安装用户升级后无任何观感变化。

  • 宿主 boot 接缝(契约 1/2/3 消费面):editor/main.js 支持从 query(?base= / ?chrome=)或注入式 window.__PPTD_BOOT__(base / chrome / theme)读取嵌入参数并透传 createEditor;base 让 httpSource 的保存与实时刷新跟随站点前缀(如 DSH 的 /pptd/),chrome=embedded 隐藏品牌与外链,theme 注入时引擎内置三态主题不启动

  • 主题消息钩子:独立页监听同源父窗口的 {type:"pptd:theme"} 消息(applyThemeTokens 语义,先还原再注入),并暴露 window.__pptdTheme(apply/reset);挂载完成即向父窗口回执 {type:"pptd:ready"},宿主可无闪色下发主题

  • server barrel 程序化导出:open-pptd/server 新增导出 MIME / resolveFile / resolveStaticFile / sendFile / handleSave / handlePing,下游(如 DSH 适配插件)可按契约组装路由而无需深路径导入,复用同一套穿越防护与多根资源解析

  • cli barrel 导出 renderDeck:headless 渲染管线(packages/renderer/headless/shoot.js)经 open-pptd/cli 转出,供 in-process 消费(runRender 仍是 CLI 入口,行为不变)

  • 契约测试接入全量门禁:tests/contract/public-api.mjs 正式纳入 tests/run-all.mjs,并新增断言——server barrel 新导出面、editor/main.js 宿主接缝(boot 参数/主题钩子/ready 回执);契约文档(docs/embedding.md)状态表对齐已实现事实,新增英文版「宿主 boot 参数」章节

v2.0.1

Choose a tag to compare

@github-actions github-actions released this 30 Sep 12:09

v2.0.1 更新内容

本版以编辑器与画廊的整体视觉重构(细线 Line 设计语言)为主:画布浮层大幅收敛、属性界面统一简洁,同时新增 PowerPoint 式智能参考线,并把右键菜单的生效范围收敛到画布内。画廊同步换新并支持深浅色三态。

新增

  • 智能参考线:拖动、缩放元素时自动吸附到页面中线/页边及其他元素的边缘与中心,以贯穿画布的红色参考线提示对齐位置(多选按整体包围盒,四个缩放手柄同样支持)
  • 画廊深浅色三态:文件菜单新增「外观」(浅/深/跟随系统),与编辑器共用同一设置、即时互通
  • 主题适配规范化:语义颜色/阴影全量走设计令牌,新增 DSH 主题令牌映射文档(--dsw-alias-* 语义对照),applyThemeTokens 注入契约保持不变,为深度集成 DeepSeek Harness 打好主题面
  • 回归门禁:新增 UI 令牌字面量检查(颜色/阴影字面量只允许存在于设计令牌表)与智能参考线吸附数学的 15 例纯函数测试

改进

  • 编辑器视觉重构(细线 Line):顶栏收敛至 44px 并显示项目文件名(悬停看完整路径);按钮全面 ghost 化,放映不再重彩;缩放控件并入缩略条右端成为状态栏一部分,画布浮层只剩选中浮条与两个圆钮;选中浮条去掉文字标签只留核心属性项;右侧属性面板分区发丝线化、字段节奏统一、多选混合态一致;两个圆形 FAB 改白底细线;窄屏下浮条、圆钮、缩放互不遮挡
  • 画廊同步重构:卡片去投影改发丝线描边,封面完整展示(页数挪入标题行右侧),PPT/海报分段控件圆角共心,标签更清晰,窄屏栅格不再横向溢出
  • 文档:两仓 README 英文版置于首位并互链,打包白名单与发布说明同步

修复

  • 画布边界看不清:纸面恢复柔和投影,白页与灰台面的分界一目了然
  • 右键菜单收敛:画布外(含灰色台面与底部页面缩略条)恢复浏览器原生右键菜单,编辑器菜单只出现在画布内;顺带移除不再使用的缩略条页级菜单
  • 一批实测观感问题:画廊分类控件圆角不一致、tag 不明显、页数字色过浅、窄屏缩略条轻微溢出视口等逐项修正

Full Changelog: v2.0.0...v2.0.1

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 02:29

v2.0.0 更新内容

2.0 大版本:引擎接口化 + 渲染管线三段式重构 + 技能拆分 + 编辑器操作 PowerPoint 化。四轮工程全部由回归守门(全量 23 套件、156 页黄金基线、契约测试、dep-graph 分层纪律),任何可见行为变化均逐页登记。

安装(2.0 起,推荐一键脚本)

Windows(PowerShell,无需管理员):

irm https://raw.githubusercontent.com/Shingwha/open-pptd/main/install.ps1 | iex

Linux / macOS:

curl -fsSL https://raw.githubusercontent.com/Shingwha/open-pptd/main/install.sh | sh

装到 ~/.open-pptd 并写入用户级 PATH,open-pptd doctor 自检。AI 对话用法请配合技能仓 open-pptd-skill(纯 markdown,clone 到技能目录即可)。

破坏性变更

  • 仓库拆分:本仓不再是技能包——SKILL.md 与 references/ 迁至独立技能仓 open-pptd-skill;本仓 = 引擎 + 编辑器 + CLI。旧「clone 本仓到 skills 文件夹」用法请改按上面两步安装
  • 深路径降级:packages/model/... 等深路径 import 归入 ./internal/*(2.x 兼容、3.0 移除),对外请用 open-pptd/model 等包级入口与包根 contract.json
  • 渲染行为变更:文本不再因框小被裁剪(溢出由 check 几何告警暴露);表格行高从 min 语义改为精确值;二者均已列入黄金基线白名单

新增

  • 一键安装:仓库根 install.ps1 / install.sh(SHA256 强制校验、幂等、--dry-run 干跑、-Version 锁版本),装到 ~/.open-pptd(OPEN_PPTD_HOME 可覆盖)
  • CLI 产品化:doctor / paths / assets list|sync|clean / ensure;serve --detach --json --stop --open(stdout 单行 JSON,agent 友好);export 前置资源体检——自动按需补齐 deck 真正用到的字体(--offline / --strict / --json,软降级不阻断)
  • 可挂载编辑器:createEditor(rootEl, options)——可销毁、chrome 三档(full/minimal/shot)、dialogs 可注入、非交互装配供截图管线复用
  • 传输接缝:ProjectSource 契约(http / 目录句柄 / 内存三实现),读写不再硬编码端点;serve 模式能力标记注入,静态部署零失败请求
  • 主题注入:applyThemeTokens / defaultTokens(light|dark),编辑器内置暗色板 + 宿主覆盖
  • 编辑器 PowerPoint 化:多选 / 框选 / Shift 加选 / Ctrl 切换 / Ctrl+A / Esc 分层 / Ctrl+拖动复制;键位重映射(Shift→多选、Alt→微调/等比);对齐二义化(单选页面、多选选区)+ 分布 + 组合;右键上下文菜单三态;缩略条拖排序(可撤销)+ 页面多选;内部剪贴板;深浅色三态(含跟随系统)
  • 渲染管线三段式:measure(字体度量表纯函数排版度量)+ layout(LayoutTree 几何事实与越界/重叠检测)+ paintPage 纯绘制;156 页黄金基线 + 白名单机制守门
  • 图片导出统一:本地 headless 优先、foreignObject 逐元素体检回退——消灭静默白图
  • 发布资产五件套:runtime zip + 图标/字体资产包 + 安装脚本 + SHA256SUMS;技能仓独立发布并带 drift-guard 五项只读比对

改进

  • 接口化:8 个包级入口 + contract.json 双口径(契约测试守门);editor 深路径清零;CONTRACT_VERSION = 2
  • 预览=导出再加固:writer 表格行高/行距与 measure 单源;颜色/主题一致性、公式 204 字节级对拍
  • 反补丁治理:设计令牌单一真相、选择/状态单一入口、DOM 访问统一、媒体单一接缝、headless 装配单源
  • 文档:中英双语 README、docs/embedding.md 下游契约、全仓注释英文化

修复

  • 单选选中框遮挡元素内容;拖动/旋转/缩放进行中选中框不实时跟随
  • scaleSvgPath Z 分支吞命令与 undefined 输出;httpSource.readMedia 潜在 404
  • group 类型注册告警与 check 误报;loader.js 撤销/重做 ReferenceError
  • 字体静默降级(导出结果如实转述 embedded/skipped);图片导出静默白图(逐元素体检)
  • CI:measure 对拍在无字体环境自动 SKIP;公式产物等环境性失败澄清

Full Changelog: https://github.com/Shingwha/open-pptd/commits/v2.0.0

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 08:57

v1.5.0 更新内容

图表体系大版本:图表有效语义全面收敛 model 单源(预览/导出退化为纯投影),13 种图表类型全部支持导出(heatmap/sankey 经 SSR 矢量图落地),并对编辑器预览 × PowerPoint 导出双端一致性做了系统性复核与修复(P0 清单 32 项闭环)。

新增

  • heatmap/sankey 导出:PowerPoint 无原生对应类型,经无头渲染 SSR 为 SVG 矢量图片导出(PowerPoint 2019+/365/WPS/LibreOffice 可见,数据不可在 PPT 内编辑)——13 类型全部有产出
  • 组合图与次轴配方固化:bar/line/area/scatter/bubble 自由混合 + yAxis 数组次轴;生成指引收紧为定量数据一律走原生 chart 元素,shapes 只做结构与标注层
  • 青山咖啡验收示例:examples 新增 12 页经营复盘 deck,13 种图表全类型实拍验收

改进

  • 有效语义单源 resolveChartSpec:归一化系列/标题/图例/布局/柱宽/气泡全部默认值在 model 落定,预览与 writer 只做方言投影——消除标题抽取 7 处、图例开关 3+1 处、方位映射 3 处等重复实现与漂移
  • 绘图区布局单源 resolvePlotLayout:导出写 plotArea manualLayout,与预览网格同源投影;饼图/雷达半径纳入布局模型,两端绘图区几何不再各一套体系
  • 导出路由单源 chartRouteOf:classic/chartEx/image 三体系类型清单、编号口径、frame 判定归一
  • 结构拆分:writer/chart.js 四职责拆分为 chart/ 八模块、model/chart.js 按域拆分(公共导出面零变化、导出字节级一致),ECharts option 组装下沉 model/chart/option
  • vendor 归位 packages/vendor/:解除 writer→renderer 逆向依赖

修复

  • 导出端:line/area stack 丢失、散点图被连线、雷达填充丢失、股价图展开系列污染图例、百分比堆叠轴无 % 格式、chartEx 空标题泄漏占位文字、组级 smooth 连带平滑、横向柱组内顺序与图例倒序、treemap/sunburst 瓦片标签样式与 dataLabels 透传
  • 预览端:瀑布图柱高成倍错误、chart.title 不渲染、轴标题方位/箭头、图例四方位、数值轴千分位、堆叠柱标签内嵌、饼图标签外置对齐、无 marker 折线标签丢失等 20 余项
  • 回归:graphicFrame 双层 xfrm 致经典图表零尺寸不可见(修复过程中发现并已销项)

Full Changelog: https://github.com/Shingwha/open-pptd/commits/v1.5.0

v1.4.7

Choose a tag to compare

@github-actions github-actions released this 07 Sep 13:15

v1.4.7 更新内容

本次更新聚焦「预览 = 导出」的一致性:修复多处同一页面预览与导出效果不同的问题,并把两端共享的样式逻辑收敛到单一实现,降低不一致复发的可能。

修复

  • 封面副标题预览变黑变大:段落内联样式(<p style> 的颜色/字号)此前只在导出生效、预览被丢弃——示例《订单中台架构升级评审》首页预览与导出不一致即此因
  • 背景图 contain 导出被裁剪:按规范应为完整显示 + 居中留白,此前导出静默按 cover 裁剪;现导出为白底 + 居中底层图片,与预览一致
  • 箭头预览一律三角:arrow / stealth / diamond / oval 四种箭头预览各画其形
  • 未装字体的电脑打开导出文件被替换字体:得意黑这类单文件字体现在按全部样式槽嵌入,粗体/斜体文字都能命中嵌入数据
  • 旧 {color} 形态填充导出空白:预览有色、导出空白,随填充归一化收口一并修复

优化

  • 表格单元格内边距、列表缩进、阴影默认值、图表默认字号/图例规则等此前"预览一套、导出一套"的参数统一为单一定义(以导出值为准,预览对齐:图表默认文字略变小、无色阴影更实)
  • 非正方形图标上的渐变方向不再畸变,与形状渐变一致
  • 内部整理:合并链 / 填充 / 渐变 / 单元格样式 / 编码工具等重复实现收敛到唯一模块(延续 v1.4.4 整理版思路)

Full Changelog: v1.4.6...v1.4.7

v1.4.6

Choose a tag to compare

@github-actions github-actions released this 07 Sep 09:57

v1.4.6 更新内容

本次更新带来导出的完整字体嵌入能力,并重设计了应用标签页图标。

新增

  • 导出支持完整字体嵌入:导出对话框新增「嵌入范围 子集/完整」选项(附预计体积),CLI 新增 --full-fonts。默认仍为子集嵌入——导出文件在未安装字体的电脑上需要继续编辑、或子集缺字形时,选「完整」即可解决

优化

  • 标签页图标重设计为「一点墨」——留白页面落一点
  • 中英双语 README 精简;SKILL / design 文档补充完整嵌入的用法与默认策略

修复

  • 修复曲线预览出现意外色块的问题(开放路径被浏览器按默认填充闭合)
  • Pages 部署产物清理不再误删 lib/

Full Changelog: v1.4.5...v1.4.6

v1.4.5

Choose a tag to compare

@github-actions github-actions released this 06 Sep 15:09

v1.4.5 更新内容

本次更新聚焦作品画廊的体验优化,并新增两张海报示例。

新增

  • 新增「山谷回声音乐节」演出活动海报示例:现场摄影背景,霓虹视觉风格(2:3 竖版)
  • 新增「白露」节气文化海报示例:竖排书法与诗文版式,适配手机屏比例(9:16)

优化

  • 作品画廊分类切换新增滑块指示动画,卡片渐次浮现,切换更平稳
  • 调整滚动条样式,页面观感更整洁
  • 切换分类后自动返回页面顶部

修复

  • 修复部分示例作品缩略图字体显示错误的问题

Full Changelog: v1.4.4...v1.4.5

v1.4.4

Choose a tag to compare

@github-actions github-actions released this 06 Sep 12:57

v1.4.4 更新内容

内部整理版本:无新功能与界面变化,全局合并重复实现、清理死代码(30 个文件,+176/−225),行为经全量回归测试与人工实测确认不变。

改进

  • 重复实现收口:画布尺寸 deckSize/主题合成 resolveTheme/文本自适应 autoGrowTexts/dataURL 编解码/文件名净化 safeFileName/Blob 下载,各收敛到唯一模块;画廊字体加载复用注册表管线
  • 新建空白单路径:编辑器空白启动并入「文件 → 新建空白演示」同一实现,消除两份初始化清单的漂移
  • 骨架屏动画合一:画廊封面/画布遮罩/缩略图三处 shimmer 合并为 base.css 单一 keyframes 定义

修复

  • 空白启动初始化缺失:空白编辑器此前未建撤销历史、未同步元素 id 计数、未重建图片映射,随路径合并一并补齐
  • 项目包下载内容类型:zip 下载此前误用 pptx MIME,已改正

Full Changelog: https://github.com/Shingwha/open-pptd/commits/v1.4.4

v1.4.3

Choose a tag to compare

@github-actions github-actions released this 06 Sep 05:19

编辑器新增导出图片

文件菜单新增「导出图片(png)」——纯浏览器渲染,线上画廊与本地 serve 行为一致,导出当前编辑现场(未保存修改一并生效):

  • 任意勾选页面:单页、某几页或全选,不必整本导出
  • 倍率可选 1x / 2x / 3x(默认 2x),按画布实际尺寸标注输出像素;图表按所选倍率高清出图
  • 多页可 zip 打包或逐张下载
  • 自定义字体自动内嵌,任意画布比例(3:4 竖版等)直接出长图,发小红书 / 公众号即导即用
  • 外链图片若无跨域授权,导出图中为空白(导出时会提示张数)

Full Changelog: v1.4.2...v1.4.3

v1.4.2

Choose a tag to compare

@github-actions github-actions released this 06 Sep 00:31

本版亮点

任意画布比例 · 全链路支持

render 出图、编辑器画布 / 缩略条 / 放映、画廊封面全部改为跟随 deck.size 实际尺寸渲染,不再写死 16:9 —— 3:4 竖版海报、方图等任意比例,预览即所得(小红书、公众号长图等场景直接做)。

作品画廊双分类

  • 画廊主页新增 PPT / 海报 两个 tab,作品在 meta.yaml 里写 kind: poster 即归入海报分类(缺省 ppt)
  • 封面卡片按作品真实比例渲染,海报 tab 采用更紧凑的竖版列宽
  • 内置首个 3:4 竖版示例:《一句话,做整套 PPT》小红书宣传海报,点击即可在线编辑
  • 画廊主页精简:移除底部操作说明文字

Full Changelog: v1.4.1...v1.4.2