dsh-ppt-studio 1.1.2 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +38 -18
  2. package/agent-presets/ppt/agent.cordis.yml +22 -15
  3. package/cordis.patch.yml +19 -14
  4. package/docs/01-/351/234/200/346/261/202/344/270/216/347/233/256/346/240/207.md +1 -1
  5. package/docs/02-/346/212/200/346/234/257/346/212/245/345/221/212.md +5 -5
  6. package/docs/03-/346/233/264/346/226/260/346/227/245/345/277/227.md +127 -0
  7. package/docs/05-/350/277/255/344/273/243/346/265/201/347/250/213.md +34 -3
  8. package/docs/06-/350/257/204/345/256/241/344/270/216/346/265/213/350/257/225.md +5 -3
  9. package/examples/fx/fx-pro/preview/04_pages_04_chart.html +1 -1
  10. package/examples/fx/fx-pro/preview/deck.html +1 -1
  11. package/examples/fx/fx-pro/preview/measured.json +1 -1
  12. package/examples/fx/fx-pro.pptx +0 -0
  13. package/examples/fx/seed.pptx +0 -0
  14. package/examples/fx/single.pptx +0 -0
  15. package/examples/fx/spliced.pptx +0 -0
  16. package/examples/smoke/imported/deck.yaml +6 -6
  17. package/examples/smoke/imported/import-styles.json +1 -33
  18. package/examples/smoke/imported/loss-audit.json +99 -0
  19. package/examples/smoke/imported/pages/slide_03.yaml +5 -36
  20. package/examples/smoke/imported/preview-rt/03_pages_slide_03.html +1 -1
  21. package/examples/smoke/imported/preview-rt/deck.html +1 -1
  22. package/examples/smoke/imported/preview-rt/layout.json +26 -78
  23. package/examples/smoke/imported/reference/previews/03.png +0 -0
  24. package/examples/smoke/imported/source.pptx +0 -0
  25. package/examples/smoke/out-smoke.pptx +0 -0
  26. package/examples/smoke/preview/03_pages_03_chart.html +1 -1
  27. package/examples/smoke/preview/deck.html +1 -1
  28. package/lib/capabilities.js +189 -0
  29. package/lib/home.js +32 -0
  30. package/lib/index.js +278 -112
  31. package/lib/office-qa.js +111 -0
  32. package/lib/pptd/export-pptx.js +159 -10
  33. package/lib/pptd/import-pptx.js +12 -0
  34. package/lib/pptd/loss-audit.js +363 -0
  35. package/lib/pptd/nativeChart.js +454 -0
  36. package/lib/pptd/schema.js +48 -1
  37. package/lib/pptd/svgCharts.js +180 -37
  38. package/lib/pptxPy.js +96 -11
  39. package/lib/preset-delivery.js +107 -9
  40. package/lib/preview-server.js +7 -5
  41. package/lib/router.js +3 -2
  42. package/lib/state.js +8 -6
  43. package/lib/templates.js +4 -4
  44. package/lib/tools.js +81 -21
  45. package/package.json +2 -1
  46. package/scripts/audit-manual-facts.mjs +4 -2
  47. package/scripts/e2e-1.0.mjs +2 -2
  48. package/scripts/fixtures/workflow-baseline.json +20 -15
  49. package/scripts/install.mjs +13 -11
  50. package/scripts/smoke.mjs +390 -66
  51. package/scripts/verify-loss-audit.mjs +245 -0
  52. package/scripts/verify-native-charts.mjs +544 -0
  53. package/scripts/verify-preset-scope.mjs +593 -0
  54. package/skills/ppt-studio-data/SKILL.md +5 -7
  55. package/skills/ppt-studio-manual/SKILL.md +2 -2
@@ -1,6 +1,6 @@
1
1
  <!doctype html><html><head><meta charset="utf-8"><title>能力验证演示</title><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style><style>body{background:#334155;padding:16px}</style></head><body style="background:#334155"><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">1. pages/01_cover</div><div class="slide" style='background:#F8FAFC'><div class="el" id="band" data-kind="shape" data-shape="rect" style="position:absolute;left:0px;top:0px;width:960px;height:540px;background:linear-gradient(180deg, #0F172A 0%, #2563EB 100%)"></div><div class="el" id="glow" data-kind="shape" data-shape="ellipse" style="position:absolute;left:660px;top:34px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,0.180)"></div><div class="el" id="title" data-kind="text" style="position:absolute;left:80px;top:150px;width:700px;height:90px;font-size:32px;line-height:1.2;color:#FFFFFF;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">能力验证演示(自建夹具)</div><div class="el" id="sub" data-kind="text" style="position:absolute;left:80px;top:260px;width:600px;height:50px;font-size:22px;line-height:1.2;color:#CBD5E1;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">PPTD 中间层 · 声明制 · 双轨审阅</div><div class="el" id="badge" data-kind="shape" data-shape="chevron" style="position:absolute;left:80px;top:420px;width:200px;height:56px;clip-path:polygon(0 0,80% 0,100% 50%,80% 100%,0 100%,20% 50%);background:#F59E0B"></div><div class="el" id="badge_t" data-kind="text" style="position:absolute;left:100px;top:430px;width:160px;height:40px;font-size:16px;line-height:1.2;color:#0F172A;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">v1.0.0</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">2. pages/02_arch</div><div class="slide" style='background:#F8FAFC'><div class="el" id="panel" data-kind="shape" data-shape="roundRect" style="position:absolute;left:60px;top:80px;width:840px;height:380px;border-radius:8px;background:#FFFFFF;border:1px solid #CBD5E1"></div><div class="el" id="box_a" data-kind="shape" data-shape="rect" style="position:absolute;left:100px;top:130px;width:350px;height:240px;background:#DBEAFE;border:1px solid #2563EB"></div><div class="el" id="box_a_t" data-kind="text" style="position:absolute;left:120px;top:150px;width:310px;height:60px;font-size:16px;line-height:1.2;color:#1E3A8A;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">领域本体(知识层)</div><div class="el" id="box_a_b" data-kind="text" style="position:absolute;left:120px;top:230px;width:310px;height:120px;font-size:14px;line-height:1.2;color:#334155;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">对象·属性·关系·约束
2
2
  换场景 = 换实例,零重构</div><div class="el" id="box_b" data-kind="shape" data-shape="rect" style="position:absolute;left:510px;top:130px;width:350px;height:240px;background:#FEF3C7;border:1px solid #F59E0B"></div><div class="el" id="box_b_t" data-kind="text" style="position:absolute;left:530px;top:150px;width:310px;height:60px;font-size:16px;line-height:1.2;color:#92400E;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">仿真内核(执行层)</div><div class="el" id="box_b_b" data-kind="text" style="position:absolute;left:530px;top:230px;width:310px;height:120px;font-size:14px;line-height:1.2;color:#78350F;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">车间生产·负载评估·计划跟踪
3
- 结论可迁移(泛化性)</div><svg style="position:absolute;left:450px;top:250px;width:58px;height:1px;pointer-events:none" viewBox="450 250 58 1" xmlns="http://www.w3.org/2000/svg"><defs><marker id="arr" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 z" fill="#2563EB"/></marker></defs><line x1="450" y1="250" x2="508" y2="250" stroke="#2563EB" stroke-width="2" marker-end="url(#arr)"/></svg><div class="el" id="foot" data-kind="text" style="position:absolute;left:100px;top:470px;width:760px;height:40px;font-size:12px;line-height:1.2;color:#64748B;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">知识层 → 映射 → 执行层:本体驱动仿真的泛化范式(A8 场景也在本页)</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">3. pages/03_table</div><div class="slide" style='background:#F8FAFC'><div class="el" id="t_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:400px;height:40px;font-size:22px;line-height:1.2;color:#1F2937;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">对策-指标对照表</div><table class="el" id="tbl" data-kind="table" style="position:absolute;left:60px;top:120px;width:840px;height:300px;border-collapse:collapse"><tbody><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">对策</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">指标A</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">指标B</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">说明</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">线表决策辅助</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">决策响应-32%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">准确率+12%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">基线 45.6%</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">排程优化</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">交付周期-18%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">利用率+9%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">中型场景</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">生产流程仿真</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">节拍-15%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">一次合格率+8%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">泛化验证</td></tr></tbody></table><div class="el" id="t_note" data-kind="text" style="position:absolute;left:60px;top:450px;width:840px;height:40px;font-size:12px;line-height:1.2;color:#64748B;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">注:数据为演示样本(45.6% 为跨页对账演示数字)</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">4. pages/04_chart</div><div class="slide" style='background:#F8FAFC'><div class="el" id="c_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:400px;height:40px;font-size:22px;line-height:1.2;color:#1F2937;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">仿真运行趋势</div><div class="el" id="chart" data-kind="chart" style="position:absolute;left:60px;top:130px;width:480px;height:300px"><svg viewBox="0 0 480 300" width="480" height="300" xmlns="http://www.w3.org/2000/svg" style="display:block"><line x1="36" y1="12" x2="468" y2="12" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="15" font-size="9" fill="#64748b" text-anchor="end">96</text><line x1="36" y1="77" x2="468" y2="77" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="80" font-size="9" fill="#64748b" text-anchor="end">72</text><line x1="36" y1="142" x2="468" y2="142" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="145" font-size="9" fill="#64748b" text-anchor="end">48</text><line x1="36" y1="207" x2="468" y2="207" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="210" font-size="9" fill="#64748b" text-anchor="end">24</text><line x1="36" y1="272" x2="468" y2="272" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="275" font-size="9" fill="#64748b" text-anchor="end">0</text><polyline points="90.0,22.8 198.0,17.4 306.0,14.7 414.0,12.0" fill="none" stroke="#2563EB" stroke-width="2"/><circle cx="90.0" cy="22.8" r="2.5" fill="#2563EB"><title>1月: 92</title></circle><circle cx="198.0" cy="17.4" r="2.5" fill="#2563EB"><title>2月: 94</title></circle><circle cx="306.0" cy="14.7" r="2.5" fill="#2563EB"><title>3月: 95</title></circle><circle cx="414.0" cy="12.0" r="2.5" fill="#2563EB"><title>4月: 96</title></circle><text x="90.0" y="292" font-size="9" fill="#475569" text-anchor="middle">1月</text><text x="198.0" y="292" font-size="9" fill="#475569" text-anchor="middle">2月</text><text x="306.0" y="292" font-size="9" fill="#475569" text-anchor="middle">3月</text><text x="414.0" y="292" font-size="9" fill="#475569" text-anchor="middle">4月</text></svg></div><div class="el" id="key" data-kind="shape" data-shape="roundRect" style="position:absolute;left:580px;top:130px;width:320px;height:300px;border-radius:8px;background:#FFFFFF;border:1px solid #CBD5E1"></div><div class="el" id="key_t" data-kind="text" style="position:absolute;left:610px;top:160px;width:260px;height:60px;font-size:16px;line-height:1.2;color:#1F2937;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">关键指标</div><div class="el" id="key_body" data-kind="text" style="position:absolute;left:610px;top:240px;width:260px;height:160px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">一次合格率 96%(+8pt)
3
+ 结论可迁移(泛化性)</div><svg style="position:absolute;left:450px;top:250px;width:58px;height:1px;pointer-events:none" viewBox="450 250 58 1" xmlns="http://www.w3.org/2000/svg"><defs><marker id="arr" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 z" fill="#2563EB"/></marker></defs><line x1="450" y1="250" x2="508" y2="250" stroke="#2563EB" stroke-width="2" marker-end="url(#arr)"/></svg><div class="el" id="foot" data-kind="text" style="position:absolute;left:100px;top:470px;width:760px;height:40px;font-size:12px;line-height:1.2;color:#64748B;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">知识层 → 映射 → 执行层:本体驱动仿真的泛化范式(A8 场景也在本页)</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">3. pages/03_table</div><div class="slide" style='background:#F8FAFC'><div class="el" id="t_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:400px;height:40px;font-size:22px;line-height:1.2;color:#1F2937;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">对策-指标对照表</div><table class="el" id="tbl" data-kind="table" style="position:absolute;left:60px;top:120px;width:840px;height:300px;border-collapse:collapse"><tbody><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">对策</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">指标A</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">指标B</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">说明</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">线表决策辅助</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">决策响应-32%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">准确率+12%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">基线 45.6%</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">排程优化</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">交付周期-18%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">利用率+9%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">中型场景</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">生产流程仿真</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">节拍-15%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">一次合格率+8%</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:12px">泛化验证</td></tr></tbody></table><div class="el" id="t_note" data-kind="text" style="position:absolute;left:60px;top:450px;width:840px;height:40px;font-size:12px;line-height:1.2;color:#64748B;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">注:数据为演示样本(45.6% 为跨页对账演示数字)</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">4. pages/04_chart</div><div class="slide" style='background:#F8FAFC'><div class="el" id="c_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:400px;height:40px;font-size:22px;line-height:1.2;color:#1F2937;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">仿真运行趋势</div><div class="el" id="chart" data-kind="chart" style="position:absolute;left:60px;top:130px;width:480px;height:300px"><svg viewBox="0 0 480 300" width="480" height="300" xmlns="http://www.w3.org/2000/svg" style="display:block"><line x1="36" y1="12.0" x2="468.0" y2="12.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="12.0" x2="36" y2="12.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="15.0" font-size="9" fill="#64748b" text-anchor="end">96</text><line x1="36" y1="77.0" x2="468.0" y2="77.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="77.0" x2="36" y2="77.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="80.0" font-size="9" fill="#64748b" text-anchor="end">72</text><line x1="36" y1="142.0" x2="468.0" y2="142.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="142.0" x2="36" y2="142.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="145.0" font-size="9" fill="#64748b" text-anchor="end">48</text><line x1="36" y1="207.0" x2="468.0" y2="207.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="207.0" x2="36" y2="207.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="210.0" font-size="9" fill="#64748b" text-anchor="end">24</text><line x1="36" y1="272.0" x2="468.0" y2="272.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="272.0" x2="36" y2="272.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="275.0" font-size="9" fill="#64748b" text-anchor="end">0</text><line x1="36" y1="12" x2="36" y2="272.0" stroke="#cbd5e1" stroke-width="1"/><line x1="36" y1="272.0" x2="468.0" y2="272.0" stroke="#cbd5e1" stroke-width="1"/><polyline points="90.0,22.8 198.0,17.4 306.0,14.7 414.0,12.0" fill="none" stroke="#2563EB" stroke-width="2"/><circle cx="90.0" cy="22.8" r="2.5" fill="#2563EB"><title>一次合格率 · 1月: 92</title></circle><circle cx="198.0" cy="17.4" r="2.5" fill="#2563EB"><title>一次合格率 · 2月: 94</title></circle><circle cx="306.0" cy="14.7" r="2.5" fill="#2563EB"><title>一次合格率 · 3月: 95</title></circle><circle cx="414.0" cy="12.0" r="2.5" fill="#2563EB"><title>一次合格率 · 4月: 96</title></circle><text x="90.0" y="284.0" font-size="9" fill="#475569" text-anchor="middle">1月</text><line x1="90.0" y1="272.0" x2="90.0" y2="275.0" stroke="#cbd5e1" stroke-width="1"/><text x="198.0" y="284.0" font-size="9" fill="#475569" text-anchor="middle">2月</text><line x1="198.0" y1="272.0" x2="198.0" y2="275.0" stroke="#cbd5e1" stroke-width="1"/><text x="306.0" y="284.0" font-size="9" fill="#475569" text-anchor="middle">3月</text><line x1="306.0" y1="272.0" x2="306.0" y2="275.0" stroke="#cbd5e1" stroke-width="1"/><text x="414.0" y="284.0" font-size="9" fill="#475569" text-anchor="middle">4月</text><line x1="414.0" y1="272.0" x2="414.0" y2="275.0" stroke="#cbd5e1" stroke-width="1"/></svg></div><div class="el" id="key" data-kind="shape" data-shape="roundRect" style="position:absolute;left:580px;top:130px;width:320px;height:300px;border-radius:8px;background:#FFFFFF;border:1px solid #CBD5E1"></div><div class="el" id="key_t" data-kind="text" style="position:absolute;left:610px;top:160px;width:260px;height:60px;font-size:16px;line-height:1.2;color:#1F2937;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">关键指标</div><div class="el" id="key_body" data-kind="text" style="position:absolute;left:610px;top:240px;width:260px;height:160px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">一次合格率 96%(+8pt)
4
4
  综合评 45.6% 提升
5
5
  节拍 −15%</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">5. pages/05_timeline</div><div class="slide" style='background:#F8FAFC'><div class="el" id="tl_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:500px;height:40px;font-size:22px;line-height:1.2;color:#1F2937;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">实施路线(五阶段)</div><svg style="position:absolute;left:80px;top:200px;width:780px;height:1px;pointer-events:none" viewBox="80 200 780 1" xmlns="http://www.w3.org/2000/svg"><defs><marker id="arr" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 z" fill="#94A3B8"/></marker></defs><line x1="80" y1="200" x2="860" y2="200" stroke="#94A3B8" stroke-width="2"/></svg><div class="el" id="st1" data-kind="shape" data-shape="pentagon" style="position:absolute;left:60px;top:140px;width:140px;height:60px;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);background:#2563EB"></div><div class="el" id="st1_t" data-kind="text" style="position:absolute;left:70px;top:148px;width:120px;height:44px;font-size:16px;line-height:1.2;color:#FFFFFF;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">建模</div><div class="el" id="st2" data-kind="shape" data-shape="pentagon" style="position:absolute;left:220px;top:140px;width:140px;height:60px;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);background:#3B82F6"></div><div class="el" id="st2_t" data-kind="text" style="position:absolute;left:230px;top:148px;width:120px;height:44px;font-size:16px;line-height:1.2;color:#FFFFFF;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">映射</div><div class="el" id="st3" data-kind="shape" data-shape="pentagon" style="position:absolute;left:380px;top:140px;width:140px;height:60px;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);background:#F59E0B"></div><div class="el" id="st3_t" data-kind="text" style="position:absolute;left:390px;top:148px;width:120px;height:44px;font-size:16px;line-height:1.2;color:#FFFFFF;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">仿真</div><div class="el" id="st4" data-kind="shape" data-shape="pentagon" style="position:absolute;left:540px;top:140px;width:140px;height:60px;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);background:#8B5CF6"></div><div class="el" id="st4_t" data-kind="text" style="position:absolute;left:550px;top:148px;width:120px;height:44px;font-size:16px;line-height:1.2;color:#FFFFFF;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">验证</div><div class="el" id="st5" data-kind="shape" data-shape="pentagon" style="position:absolute;left:700px;top:140px;width:140px;height:60px;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);background:#10B981"></div><div class="el" id="st5_t" data-kind="text" style="position:absolute;left:710px;top:148px;width:120px;height:44px;font-size:16px;line-height:1.2;color:#FFFFFF;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">推广</div><div class="el" id="tl_note" data-kind="text" style="position:absolute;left:80px;top:300px;width:800px;height:100px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">单向推进 + 每阶段门禁:建模评审 → 映射校验 → 仿真对标 → 验证报告 → 批量复制
6
6
  (时间线为示意图,非真实排期)</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">6. pages/06_longtext</div><div class="slide" style='background:#F8FAFC'><div class="el" id="lt_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:500px;height:40px;font-size:22px;line-height:1.2;color:#1F2937;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">长文本容纳(保守估算 + 显式断行)</div><div class="el" id="lt_body" data-kind="text" style="position:absolute;left:60px;top:130px;width:840px;height:340px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">这一段用于验证长文本在保守估算下的处理:中文全角加粗按 1.06 系数、行高 1.2、标点禁则——
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "browser": "Edge/Chrome headless",
3
- "ts": "2026-09-25T17:54:02.638Z",
3
+ "ts": "2026-09-26T14:56:19.133Z",
4
4
  "size": {
5
5
  "width": 960,
6
6
  "height": 540
Binary file
Binary file
Binary file
Binary file
@@ -5,15 +5,15 @@
5
5
  # 色板为原稿全量(c1-c7 高频 + c8 起扩展低频色;theme-conformance 以全集为基准,不再误报原稿色)
6
6
  theme:
7
7
  colors:
8
- c1: "#2563EB" # 最高频(建议作 ink/主色)
9
- c2: "#F59E0B"
10
- c3: "#1F2937"
8
+ c1: "#1F2937" # 最高频(建议作 ink/主色)
9
+ c2: "#2563EB"
10
+ c3: "#F59E0B"
11
11
  c4: "#FFFFFF"
12
12
  c5: "#64748B"
13
13
  textStyles:
14
- title: {fontSize: 40, color: "#2563EB", bold: true}
15
- body: {fontSize: 18, color: "#2563EB"}
16
- label: {fontSize: 12, color: "#2563EB"}
14
+ title: {fontSize: 40, color: "#1F2937", bold: true}
15
+ body: {fontSize: 18, color: "#1F2937"}
16
+ label: {fontSize: 12, color: "#1F2937"}
17
17
  version: 1
18
18
  title: "out-smoke"
19
19
  size: [960, 540]
@@ -80,39 +80,7 @@
80
80
  },
81
81
  {
82
82
  "page": 3,
83
- "id": "chart-c-b0-0",
84
- "fill": "#2563EB",
85
- "line": {}
86
- },
87
- {
88
- "page": 3,
89
- "id": "chart-c-b1-0",
90
- "fill": "#2563EB",
91
- "line": {}
92
- },
93
- {
94
- "page": 3,
95
- "id": "chart-c-b2-0",
96
- "fill": "#2563EB",
97
- "line": {}
98
- },
99
- {
100
- "page": 3,
101
- "id": "chart-c-b0-1",
102
- "fill": "#F59E0B",
103
- "line": {}
104
- },
105
- {
106
- "page": 3,
107
- "id": "chart-c-b1-1",
108
- "fill": "#F59E0B",
109
- "line": {}
110
- },
111
- {
112
- "page": 3,
113
- "id": "chart-c-b2-1",
114
- "fill": "#F59E0B",
115
- "line": {}
83
+ "id": "chart-c"
116
84
  },
117
85
  {
118
86
  "page": 3,
@@ -0,0 +1,99 @@
1
+ {
2
+ "generatedBy": "dsh-ppt-studio",
3
+ "version": 1,
4
+ "source": "out-smoke.pptx",
5
+ "kind": "pptx-rebuild-loss-audit",
6
+ "clean": false,
7
+ "total": 1,
8
+ "visibleTotal": 1,
9
+ "themeStyleOnly": false,
10
+ "counts": {
11
+ "animation": 0,
12
+ "effect": 0,
13
+ "hyperlink": 0,
14
+ "transition": 0,
15
+ "smartart": 0,
16
+ "media": 1,
17
+ "gradient": 0
18
+ },
19
+ "scannedParts": 24,
20
+ "slides": 3,
21
+ "categories": [
22
+ {
23
+ "id": "animation",
24
+ "label": "动画",
25
+ "count": 0,
26
+ "visible": 0,
27
+ "loss": "DSL 中间层没有动画通道:整册重渲后动画全丢",
28
+ "evidence": []
29
+ },
30
+ {
31
+ "id": "effect",
32
+ "label": "阴影/发光",
33
+ "count": 0,
34
+ "visible": 0,
35
+ "loss": "DSL 没有 effectLst 通道(import-styles.json 只留 rawShadow 标志):整册重渲后阴影/发光消失",
36
+ "evidence": []
37
+ },
38
+ {
39
+ "id": "hyperlink",
40
+ "label": "超链接",
41
+ "count": 0,
42
+ "visible": 0,
43
+ "loss": "DSL 没有链接通道:整册重渲后链接退化为纯文本",
44
+ "evidence": []
45
+ },
46
+ {
47
+ "id": "transition",
48
+ "label": "页切换",
49
+ "count": 0,
50
+ "visible": 0,
51
+ "loss": "DSL 没有 transition 通道:整册重渲后切换效果丢",
52
+ "evidence": []
53
+ },
54
+ {
55
+ "id": "smartart",
56
+ "label": "SmartArt",
57
+ "count": 0,
58
+ "visible": 0,
59
+ "loss": "SmartArt 图形框架被当作图表降级为文本占位",
60
+ "evidence": []
61
+ },
62
+ {
63
+ "id": "media",
64
+ "label": "不可嵌入媒体",
65
+ "count": 1,
66
+ "visible": 1,
67
+ "loss": "导出仅内嵌 png/jpeg/jpg/gif/webp:EMF/WMF 等矢量图、音视频、OLE 嵌入对象不会被带入成品",
68
+ "evidence": [
69
+ {
70
+ "page": null,
71
+ "part": "ppt/embeddings/Microsoft_Excel_Sheet1.xlsx",
72
+ "element": "Microsoft_Excel_Sheet1.xlsx",
73
+ "tag": "embedding-part",
74
+ "ext": "xlsx",
75
+ "reason": "OLE 嵌入对象(DSL 无通道)",
76
+ "detail": "嵌入对象部件(.xlsx):导出不会带入成品"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "id": "gradient",
82
+ "label": "主题/背景渐变",
83
+ "count": 0,
84
+ "visible": 0,
85
+ "loss": "主题渐变与页面背景渐变被归一为纯色(形状渐变有直通,不计)",
86
+ "evidence": []
87
+ }
88
+ ],
89
+ "note": "判据:动画=非空 p:timing;阴影/发光=含效果子节点的 a:effectLst/a:effectDag 或裸效果节点(空 effectLst 与主题 effectStyleLst 不计);超链接=a:hlinkClick/a:hlinkHover;切换=p:transition;SmartArt=graphicData@uri 含 /diagram(无引用时包内部件合计 1 处);不可嵌入媒体=ppt/media 扩展名 ∉ {png,jpeg,jpg,gif,webp}、ppt/embeddings、幻灯片内 OLE/音视频引用;渐变=p:bg 下 a:gradFill(可见)+ 主题 a:gradFill(被 bgRef idx=1001+N / fillRef idx=N 引用者 visible:true,未被引用者 visible:false=样式表模板);形状渐变直通不计。证据字段:page(1 基,非幻灯片为 null)/part/element/tag/visible。",
90
+ "advice": "整册重渲会丢上述 1 处可见特性;若只需改某几页 / 改一处文字,优先 ppt_splice(只把工作区目标页替换进原稿,其余页逐字节不变)——动画/阴影/超链接等留在原稿里。",
91
+ "hitSummary": [
92
+ {
93
+ "id": "media",
94
+ "label": "不可嵌入媒体",
95
+ "count": 1,
96
+ "visible": 1
97
+ }
98
+ ]
99
+ }
@@ -10,42 +10,11 @@ elements:
10
10
  fontSize: 28
11
11
  color: "#1F2937"
12
12
  bold: true
13
- - elementId: "chart-c-b0-0"
14
- elementType: shape
15
- bounds: [208, 205, 71, 176]
16
- kind: rect
17
- fill: "#2563EB"
18
- line: {color: "#000000"}
19
- - elementId: "chart-c-b1-0"
20
- elementType: shape
21
- bounds: [443, 183, 71, 198]
22
- kind: rect
23
- fill: "#2563EB"
24
- line: {color: "#000000"}
25
- - elementId: "chart-c-b2-0"
26
- elementType: shape
27
- bounds: [678, 150, 71, 231]
28
- kind: rect
29
- fill: "#2563EB"
30
- line: {color: "#000000"}
31
- - elementId: "chart-c-b0-1"
32
- elementType: shape
33
- bounds: [278, 265, 71, 116]
34
- kind: rect
35
- fill: "#F59E0B"
36
- line: {color: "#000000"}
37
- - elementId: "chart-c-b1-1"
38
- elementType: shape
39
- bounds: [514, 249, 71, 132]
40
- kind: rect
41
- fill: "#F59E0B"
42
- line: {color: "#000000"}
43
- - elementId: "chart-c-b2-1"
44
- elementType: shape
45
- bounds: [749, 216, 71, 165]
46
- kind: rect
47
- fill: "#F59E0B"
48
- line: {color: "#000000"}
13
+ - elementId: "chart-c"
14
+ elementType: text
15
+ bounds: [60, 130, 840, 330]
16
+ content:
17
+ text: "[chart: chart-c] 图表已降级为文本占位,请重新生成图表样式"
49
18
  - elementId: "caption"
50
19
  elementType: text
51
20
  bounds: [60, 480, 840, 30]
@@ -1 +1 @@
1
- <!doctype html><html><head><meta charset="utf-8"><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style></head><body><div class="slide"><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">渠道 GMV 走势</div><div class="el" id="chart-c-b0-0" data-kind="shape" data-shape="rect" style="position:absolute;left:208px;top:205px;width:71px;height:176px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="chart-c-b1-0" data-kind="shape" data-shape="rect" style="position:absolute;left:443px;top:183px;width:71px;height:198px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="chart-c-b2-0" data-kind="shape" data-shape="rect" style="position:absolute;left:678px;top:150px;width:71px;height:231px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="chart-c-b0-1" data-kind="shape" data-shape="rect" style="position:absolute;left:278px;top:265px;width:71px;height:116px;background:#F59E0B;border:1px solid #000000"></div><div class="el" id="chart-c-b1-1" data-kind="shape" data-shape="rect" style="position:absolute;left:514px;top:249px;width:71px;height:132px;background:#F59E0B;border:1px solid #000000"></div><div class="el" id="chart-c-b2-1" data-kind="shape" data-shape="rect" style="position:absolute;left:749px;top:216px;width:71px;height:165px;background:#F59E0B;border:1px solid #000000"></div><div class="el" id="caption" data-kind="text" style="position:absolute;left:60px;top:480px;width:840px;height:30px;font-size:12px;line-height:1.2;color:#64748B;overflow:visible;white-space:pre-wrap;word-break:break-word">数据来源:内部经营报表(2026-09 月报)</div></div></body></html>
1
+ <!doctype html><html><head><meta charset="utf-8"><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style></head><body><div class="slide"><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">渠道 GMV 走势</div><div class="el" id="chart-c" data-kind="text" style="position:absolute;left:60px;top:130px;width:840px;height:330px;font-size:18px;line-height:1.2;color:#111;overflow:visible;white-space:pre-wrap;word-break:break-word">[chart: chart-c] 图表已降级为文本占位,请重新生成图表样式</div><div class="el" id="caption" data-kind="text" style="position:absolute;left:60px;top:480px;width:840px;height:30px;font-size:12px;line-height:1.2;color:#64748B;overflow:visible;white-space:pre-wrap;word-break:break-word">数据来源:内部经营报表(2026-09 月报)</div></div></body></html>
@@ -1 +1 @@
1
- <!doctype html><html><head><meta charset="utf-8"><title>out-smoke</title><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style><style>body{background:#334155;padding:16px}</style></head><body style="background:#334155"><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">1. pages/slide_01</div><div class="slide" style='background:#F8FAFC'><div class="el" id="hero-rect" data-kind="shape" data-shape="rect" style="position:absolute;left:0px;top:0px;width:960px;height:120px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="title" data-kind="text" style="position:absolute;left:80px;top:180px;width:700px;height:90px;font-size:40px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">季度复盘:增长引擎与风险</div><div class="el" id="subtitle" data-kind="text" style="position:absolute;left:80px;top:290px;width:600px;height:60px;font-size:18px;line-height:1.2;color:#F59E0B;overflow:visible;white-space:pre-wrap;word-break:break-word">2026 Q3 · 内部汇报</div><div class="el" id="deco" data-kind="shape" data-shape="ellipse" style="position:absolute;left:780px;top:360px;width:120px;height:120px;border-radius:50%;background:#F59E0B;border:1px solid #000000"></div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">2. pages/slide_02</div><div class="slide" style='background:#F8FAFC'><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">关键进展</div><div class="el" id="body-a" data-kind="text" style="position:absolute;left:60px;top:130px;width:420px;height:200px;font-size:18px;line-height:1.2;color:#1F2937;overflow:visible;white-space:pre-wrap;word-break:break-word">线上增长 34%,主要来自新渠道投放;NPS 提升 12 分;复购率升至 41%。 供应链成本环比下降 8%。</div><div class="el" id="metric-rect" data-kind="shape" data-shape="rect" style="position:absolute;left:540px;top:130px;width:360px;height:80px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="metric" data-kind="text" style="position:absolute;left:540px;top:150px;width:360px;height:40px;font-size:22px;line-height:1.2;color:#FFFFFF;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">+34% 增长</div><table class="el" id="table-b" data-kind="table" style="position:absolute;left:60px;top:380px;width:840px;height:120px;border-collapse:collapse"><tbody><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">Col1</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">Col2</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">Col3</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">Col4</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">渠道</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">投入</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">产出</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">ROI</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">搜索</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">120万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">480万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">4</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">社群</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">60万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">210万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">3.5</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">直播</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">90万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">360万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">4</td></tr></tbody></table></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">3. pages/slide_03</div><div class="slide" style='background:#F8FAFC'><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">渠道 GMV 走势</div><div class="el" id="chart-c-b0-0" data-kind="shape" data-shape="rect" style="position:absolute;left:208px;top:205px;width:71px;height:176px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="chart-c-b1-0" data-kind="shape" data-shape="rect" style="position:absolute;left:443px;top:183px;width:71px;height:198px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="chart-c-b2-0" data-kind="shape" data-shape="rect" style="position:absolute;left:678px;top:150px;width:71px;height:231px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="chart-c-b0-1" data-kind="shape" data-shape="rect" style="position:absolute;left:278px;top:265px;width:71px;height:116px;background:#F59E0B;border:1px solid #000000"></div><div class="el" id="chart-c-b1-1" data-kind="shape" data-shape="rect" style="position:absolute;left:514px;top:249px;width:71px;height:132px;background:#F59E0B;border:1px solid #000000"></div><div class="el" id="chart-c-b2-1" data-kind="shape" data-shape="rect" style="position:absolute;left:749px;top:216px;width:71px;height:165px;background:#F59E0B;border:1px solid #000000"></div><div class="el" id="caption" data-kind="text" style="position:absolute;left:60px;top:480px;width:840px;height:30px;font-size:12px;line-height:1.2;color:#64748B;overflow:visible;white-space:pre-wrap;word-break:break-word">数据来源:内部经营报表(2026-09 月报)</div></div></section></body></html>
1
+ <!doctype html><html><head><meta charset="utf-8"><title>out-smoke</title><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style><style>body{background:#334155;padding:16px}</style></head><body style="background:#334155"><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">1. pages/slide_01</div><div class="slide" style='background:#F8FAFC'><div class="el" id="hero-rect" data-kind="shape" data-shape="rect" style="position:absolute;left:0px;top:0px;width:960px;height:120px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="title" data-kind="text" style="position:absolute;left:80px;top:180px;width:700px;height:90px;font-size:40px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">季度复盘:增长引擎与风险</div><div class="el" id="subtitle" data-kind="text" style="position:absolute;left:80px;top:290px;width:600px;height:60px;font-size:18px;line-height:1.2;color:#F59E0B;overflow:visible;white-space:pre-wrap;word-break:break-word">2026 Q3 · 内部汇报</div><div class="el" id="deco" data-kind="shape" data-shape="ellipse" style="position:absolute;left:780px;top:360px;width:120px;height:120px;border-radius:50%;background:#F59E0B;border:1px solid #000000"></div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">2. pages/slide_02</div><div class="slide" style='background:#F8FAFC'><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">关键进展</div><div class="el" id="body-a" data-kind="text" style="position:absolute;left:60px;top:130px;width:420px;height:200px;font-size:18px;line-height:1.2;color:#1F2937;overflow:visible;white-space:pre-wrap;word-break:break-word">线上增长 34%,主要来自新渠道投放;NPS 提升 12 分;复购率升至 41%。 供应链成本环比下降 8%。</div><div class="el" id="metric-rect" data-kind="shape" data-shape="rect" style="position:absolute;left:540px;top:130px;width:360px;height:80px;background:#2563EB;border:1px solid #000000"></div><div class="el" id="metric" data-kind="text" style="position:absolute;left:540px;top:150px;width:360px;height:40px;font-size:22px;line-height:1.2;color:#FFFFFF;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">+34% 增长</div><table class="el" id="table-b" data-kind="table" style="position:absolute;left:60px;top:380px;width:840px;height:120px;border-collapse:collapse"><tbody><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">Col1</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">Col2</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">Col3</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">Col4</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">渠道</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">投入</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">产出</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">ROI</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">搜索</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">120万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">480万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">4</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">社群</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">60万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">210万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">3.5</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">直播</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">90万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">360万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">4</td></tr></tbody></table></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">3. pages/slide_03</div><div class="slide" style='background:#F8FAFC'><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">渠道 GMV 走势</div><div class="el" id="chart-c" data-kind="text" style="position:absolute;left:60px;top:130px;width:840px;height:330px;font-size:18px;line-height:1.2;color:#111;overflow:visible;white-space:pre-wrap;word-break:break-word">[chart: chart-c] 图表已降级为文本占位,请重新生成图表样式</div><div class="el" id="caption" data-kind="text" style="position:absolute;left:60px;top:480px;width:840px;height:30px;font-size:12px;line-height:1.2;color:#64748B;overflow:visible;white-space:pre-wrap;word-break:break-word">数据来源:内部经营报表(2026-09 月报)</div></div></section></body></html>
@@ -5,25 +5,25 @@
5
5
  },
6
6
  "theme": {
7
7
  "colors": {
8
- "c1": "#2563EB",
9
- "c2": "#F59E0B",
10
- "c3": "#1F2937",
8
+ "c1": "#1F2937",
9
+ "c2": "#2563EB",
10
+ "c3": "#F59E0B",
11
11
  "c4": "#FFFFFF",
12
12
  "c5": "#64748B"
13
13
  },
14
14
  "textStyles": {
15
15
  "title": {
16
16
  "fontSize": 40,
17
- "color": "#2563EB",
17
+ "color": "#1F2937",
18
18
  "bold": true
19
19
  },
20
20
  "body": {
21
21
  "fontSize": 18,
22
- "color": "#2563EB"
22
+ "color": "#1F2937"
23
23
  },
24
24
  "label": {
25
25
  "fontSize": 12,
26
- "color": "#2563EB"
26
+ "color": "#1F2937"
27
27
  }
28
28
  },
29
29
  "grid": {
@@ -324,82 +324,30 @@
324
324
  "text": "渠道 GMV 走势"
325
325
  },
326
326
  {
327
- "id": "chart-c-b0-0",
328
- "kind": "shape",
329
- "bounds": {
330
- "x": 208,
331
- "y": 205,
332
- "w": 71,
333
- "h": 176
334
- },
335
- "shape": "rect",
336
- "fill": "#2563EB",
337
- "rotation": 0
338
- },
339
- {
340
- "id": "chart-c-b1-0",
341
- "kind": "shape",
342
- "bounds": {
343
- "x": 443,
344
- "y": 183,
345
- "w": 71,
346
- "h": 198
347
- },
348
- "shape": "rect",
349
- "fill": "#2563EB",
350
- "rotation": 0
351
- },
352
- {
353
- "id": "chart-c-b2-0",
354
- "kind": "shape",
355
- "bounds": {
356
- "x": 678,
357
- "y": 150,
358
- "w": 71,
359
- "h": 231
360
- },
361
- "shape": "rect",
362
- "fill": "#2563EB",
363
- "rotation": 0
364
- },
365
- {
366
- "id": "chart-c-b0-1",
367
- "kind": "shape",
327
+ "id": "chart-c",
328
+ "kind": "text",
368
329
  "bounds": {
369
- "x": 278,
370
- "y": 265,
371
- "w": 71,
372
- "h": 116
330
+ "x": 60,
331
+ "y": 130,
332
+ "w": 840,
333
+ "h": 330
373
334
  },
374
- "shape": "rect",
375
- "fill": "#F59E0B",
376
- "rotation": 0
377
- },
378
- {
379
- "id": "chart-c-b1-1",
380
- "kind": "shape",
381
- "bounds": {
382
- "x": 514,
383
- "y": 249,
384
- "w": 71,
385
- "h": 132
335
+ "style": {
336
+ "fontSize": 18,
337
+ "lineHeight": 1.2,
338
+ "wrap": true
386
339
  },
387
- "shape": "rect",
388
- "fill": "#F59E0B",
389
- "rotation": 0
390
- },
391
- {
392
- "id": "chart-c-b2-1",
393
- "kind": "shape",
394
- "bounds": {
395
- "x": 749,
396
- "y": 216,
397
- "w": 71,
398
- "h": 165
340
+ "metrics": {
341
+ "textW": 540,
342
+ "textH": 21.599999999999998,
343
+ "lines": 1,
344
+ "lineWidths": [
345
+ 525.5999999999999
346
+ ],
347
+ "overflowY": 0,
348
+ "overflowX": 0
399
349
  },
400
- "shape": "rect",
401
- "fill": "#F59E0B",
402
- "rotation": 0
350
+ "text": "[chart: chart-c] 图表已降级为文本占位,请重新生成图表样式"
403
351
  },
404
352
  {
405
353
  "id": "caption",
Binary file
Binary file
@@ -1 +1 @@
1
- <!doctype html><html><head><meta charset="utf-8"><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style></head><body><div class="slide"><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">渠道 GMV 走势</div><div class="el" id="chart-c" data-kind="chart" style="position:absolute;left:60px;top:130px;width:840px;height:330px"><svg viewBox="0 0 840 330" width="840" height="330" xmlns="http://www.w3.org/2000/svg" style="display:block"><line x1="36" y1="12" x2="828" y2="12" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="15" font-size="9" fill="#64748b" text-anchor="end">420</text><line x1="36" y1="84.5" x2="828" y2="84.5" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="87.5" font-size="9" fill="#64748b" text-anchor="end">315</text><line x1="36" y1="157" x2="828" y2="157" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="160" font-size="9" fill="#64748b" text-anchor="end">210</text><line x1="36" y1="229.5" x2="828" y2="229.5" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="232.5" font-size="9" fill="#64748b" text-anchor="end">105</text><line x1="36" y1="302" x2="828" y2="302" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="305" font-size="9" fill="#64748b" text-anchor="end">0</text><rect x="100.722" y="81.04761904761904" width="66.5" height="221.0" fill="#2563EB"><title>7月: 320</title></rect><rect x="364.722" y="53.42857142857142" width="66.5" height="248.6" fill="#2563EB"><title>8月: 360</title></rect><rect x="628.722" y="12" width="66.5" height="290.0" fill="#2563EB"><title>9月: 420</title></rect><rect x="168.75" y="157" width="66.5" height="145.0" fill="#F59E0B"><title>7月: 210</title></rect><rect x="432.75" y="136.28571428571428" width="66.5" height="165.7" fill="#F59E0B"><title>8月: 240</title></rect><rect x="696.75" y="94.85714285714285" width="66.5" height="207.1" fill="#F59E0B"><title>9月: 300</title></rect><text x="168.0" y="322" font-size="9" fill="#475569" text-anchor="middle">7月</text><text x="432.0" y="322" font-size="9" fill="#475569" text-anchor="middle">8月</text><text x="696.0" y="322" font-size="9" fill="#475569" text-anchor="middle">9月</text></svg></div><div class="el" id="caption" data-kind="text" style="position:absolute;left:60px;top:480px;width:840px;height:30px;font-size:12px;line-height:1.2;color:#64748B;overflow:visible;white-space:pre-wrap;word-break:break-word">数据来源:内部经营报表(2026-09 月报)</div></div></body></html>
1
+ <!doctype html><html><head><meta charset="utf-8"><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style></head><body><div class="slide"><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">渠道 GMV 走势</div><div class="el" id="chart-c" data-kind="chart" style="position:absolute;left:60px;top:130px;width:840px;height:330px"><svg viewBox="0 0 840 330" width="840" height="330" xmlns="http://www.w3.org/2000/svg" style="display:block"><line x1="36" y1="12.0" x2="828.0" y2="12.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="12.0" x2="36" y2="12.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="15.0" font-size="9" fill="#64748b" text-anchor="end">420</text><line x1="36" y1="80.5" x2="828.0" y2="80.5" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="80.5" x2="36" y2="80.5" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="83.5" font-size="9" fill="#64748b" text-anchor="end">315</text><line x1="36" y1="149.0" x2="828.0" y2="149.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="149.0" x2="36" y2="149.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="152.0" font-size="9" fill="#64748b" text-anchor="end">210</text><line x1="36" y1="217.5" x2="828.0" y2="217.5" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="217.5" x2="36" y2="217.5" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="220.5" font-size="9" fill="#64748b" text-anchor="end">105</text><line x1="36" y1="286.0" x2="828.0" y2="286.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="286.0" x2="36" y2="286.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="289.0" font-size="9" fill="#64748b" text-anchor="end">0</text><line x1="36" y1="12" x2="36" y2="286.0" stroke="#cbd5e1" stroke-width="1"/><line x1="36" y1="286.0" x2="828.0" y2="286.0" stroke="#cbd5e1" stroke-width="1"/><rect x="74.9" y="77.2" width="92.4" height="208.8" fill="#2563EB"><title>Web · 7月: 320</title></rect><rect x="338.9" y="51.1" width="92.4" height="234.9" fill="#2563EB"><title>Web · 8月: 360</title></rect><rect x="602.8" y="12.0" width="92.4" height="274.0" fill="#2563EB"><title>Web · 9月: 420</title></rect><rect x="168.8" y="149.0" width="92.4" height="137.0" fill="#F59E0B"><title>App · 7月: 210</title></rect><rect x="432.8" y="129.4" width="92.4" height="156.6" fill="#F59E0B"><title>App · 8月: 240</title></rect><rect x="696.8" y="90.3" width="92.4" height="195.7" fill="#F59E0B"><title>App · 9月: 300</title></rect><text x="168.0" y="298.0" font-size="9" fill="#475569" text-anchor="middle">7月</text><line x1="168.0" y1="286.0" x2="168.0" y2="289.0" stroke="#cbd5e1" stroke-width="1"/><text x="432.0" y="298.0" font-size="9" fill="#475569" text-anchor="middle">8月</text><line x1="432.0" y1="286.0" x2="432.0" y2="289.0" stroke="#cbd5e1" stroke-width="1"/><text x="696.0" y="298.0" font-size="9" fill="#475569" text-anchor="middle">9月</text><line x1="696.0" y1="286.0" x2="696.0" y2="289.0" stroke="#cbd5e1" stroke-width="1"/><rect x="8" y="319.0" width="8" height="8" fill="#2563EB" rx="1"/><text x="22" y="326.0" font-size="9" fill="#64748b">Web</text><rect x="44.85" y="319.0" width="8" height="8" fill="#F59E0B" rx="1"/><text x="58.85" y="326.0" font-size="9" fill="#64748b">App</text></svg></div><div class="el" id="caption" data-kind="text" style="position:absolute;left:60px;top:480px;width:840px;height:30px;font-size:12px;line-height:1.2;color:#64748B;overflow:visible;white-space:pre-wrap;word-break:break-word">数据来源:内部经营报表(2026-09 月报)</div></div></body></html>
@@ -1 +1 @@
1
- <!doctype html><html><head><meta charset="utf-8"><title>季度复盘演示(冒烟)</title><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style><style>body{background:#334155;padding:16px}</style></head><body style="background:#334155"><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">1. pages/01_cover</div><div class="slide" style='background:#F8FAFC'><div class="el" id="hero-rect" data-kind="shape" data-shape="rect" style="position:absolute;left:0px;top:0px;width:960px;height:120px;background:#2563EB"></div><div class="el" id="title" data-kind="text" style="position:absolute;left:80px;top:180px;width:700px;height:90px;font-size:40px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">季度复盘:增长引擎与风险</div><div class="el" id="subtitle" data-kind="text" style="position:absolute;left:80px;top:290px;width:600px;height:60px;font-size:18px;line-height:1.5;color:#F59E0B;overflow:visible;white-space:pre-wrap;word-break:break-word">2026 Q3 · 内部汇报</div><div class="el" id="deco" data-kind="shape" data-shape="ellipse" style="position:absolute;left:780px;top:360px;width:120px;height:120px;border-radius:50%;background:#F59E0B"></div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">2. pages/02_content</div><div class="slide" style='background:#F8FAFC'><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">关键进展</div><div class="el" id="body-a" data-kind="text" style="position:absolute;left:60px;top:130px;width:420px;height:200px;font-size:18px;line-height:1.5;color:#1F2937;overflow:visible;white-space:pre-wrap;word-break:break-word">线上增长 34%,主要来自新渠道投放;NPS 提升 12 分;复购率升至 41%。供应链成本环比下降 8%。</div><div class="el" id="metric-rect" data-kind="shape" data-shape="rect" style="position:absolute;left:540px;top:130px;width:360px;height:80px;background:#2563EB"></div><div class="el" id="metric" data-kind="text" style="position:absolute;left:540px;top:150px;width:360px;height:40px;font-size:22px;line-height:1.2;color:#FFFFFF;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">+34% 增长</div><table class="el" id="table-b" data-kind="table" style="position:absolute;left:60px;top:380px;width:840px;height:120px;border-collapse:collapse"><tbody><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">渠道</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">投入</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">产出</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">ROI</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">搜索</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">120万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">480万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">4</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">社群</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">60万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">210万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">3.5</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">直播</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">90万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">360万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">4</td></tr></tbody></table></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">3. pages/03_chart</div><div class="slide" style='background:#F8FAFC'><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">渠道 GMV 走势</div><div class="el" id="chart-c" data-kind="chart" style="position:absolute;left:60px;top:130px;width:840px;height:330px"><svg viewBox="0 0 840 330" width="840" height="330" xmlns="http://www.w3.org/2000/svg" style="display:block"><line x1="36" y1="12" x2="828" y2="12" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="15" font-size="9" fill="#64748b" text-anchor="end">420</text><line x1="36" y1="84.5" x2="828" y2="84.5" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="87.5" font-size="9" fill="#64748b" text-anchor="end">315</text><line x1="36" y1="157" x2="828" y2="157" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="160" font-size="9" fill="#64748b" text-anchor="end">210</text><line x1="36" y1="229.5" x2="828" y2="229.5" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="232.5" font-size="9" fill="#64748b" text-anchor="end">105</text><line x1="36" y1="302" x2="828" y2="302" stroke="#e2e8f0" stroke-width="1"/><text x="32" y="305" font-size="9" fill="#64748b" text-anchor="end">0</text><rect x="100.722" y="81.04761904761904" width="66.5" height="221.0" fill="#2563EB"><title>7月: 320</title></rect><rect x="364.722" y="53.42857142857142" width="66.5" height="248.6" fill="#2563EB"><title>8月: 360</title></rect><rect x="628.722" y="12" width="66.5" height="290.0" fill="#2563EB"><title>9月: 420</title></rect><rect x="168.75" y="157" width="66.5" height="145.0" fill="#F59E0B"><title>7月: 210</title></rect><rect x="432.75" y="136.28571428571428" width="66.5" height="165.7" fill="#F59E0B"><title>8月: 240</title></rect><rect x="696.75" y="94.85714285714285" width="66.5" height="207.1" fill="#F59E0B"><title>9月: 300</title></rect><text x="168.0" y="322" font-size="9" fill="#475569" text-anchor="middle">7月</text><text x="432.0" y="322" font-size="9" fill="#475569" text-anchor="middle">8月</text><text x="696.0" y="322" font-size="9" fill="#475569" text-anchor="middle">9月</text></svg></div><div class="el" id="caption" data-kind="text" style="position:absolute;left:60px;top:480px;width:840px;height:30px;font-size:12px;line-height:1.2;color:#64748B;overflow:visible;white-space:pre-wrap;word-break:break-word">数据来源:内部经营报表(2026-09 月报)</div></div></section></body></html>
1
+ <!doctype html><html><head><meta charset="utf-8"><title>季度复盘演示(冒烟)</title><style>*{box-sizing:border-box;margin:0}body{background:#64748b} .slide{position:relative;width:960px;height:540px;background:#F8FAFC;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}</style><style>body{background:#334155;padding:16px}</style></head><body style="background:#334155"><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">1. pages/01_cover</div><div class="slide" style='background:#F8FAFC'><div class="el" id="hero-rect" data-kind="shape" data-shape="rect" style="position:absolute;left:0px;top:0px;width:960px;height:120px;background:#2563EB"></div><div class="el" id="title" data-kind="text" style="position:absolute;left:80px;top:180px;width:700px;height:90px;font-size:40px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">季度复盘:增长引擎与风险</div><div class="el" id="subtitle" data-kind="text" style="position:absolute;left:80px;top:290px;width:600px;height:60px;font-size:18px;line-height:1.5;color:#F59E0B;overflow:visible;white-space:pre-wrap;word-break:break-word">2026 Q3 · 内部汇报</div><div class="el" id="deco" data-kind="shape" data-shape="ellipse" style="position:absolute;left:780px;top:360px;width:120px;height:120px;border-radius:50%;background:#F59E0B"></div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">2. pages/02_content</div><div class="slide" style='background:#F8FAFC'><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">关键进展</div><div class="el" id="body-a" data-kind="text" style="position:absolute;left:60px;top:130px;width:420px;height:200px;font-size:18px;line-height:1.5;color:#1F2937;overflow:visible;white-space:pre-wrap;word-break:break-word">线上增长 34%,主要来自新渠道投放;NPS 提升 12 分;复购率升至 41%。供应链成本环比下降 8%。</div><div class="el" id="metric-rect" data-kind="shape" data-shape="rect" style="position:absolute;left:540px;top:130px;width:360px;height:80px;background:#2563EB"></div><div class="el" id="metric" data-kind="text" style="position:absolute;left:540px;top:150px;width:360px;height:40px;font-size:22px;line-height:1.2;color:#FFFFFF;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">+34% 增长</div><table class="el" id="table-b" data-kind="table" style="position:absolute;left:60px;top:380px;width:840px;height:120px;border-collapse:collapse"><tbody><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">渠道</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">投入</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">产出</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">ROI</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">搜索</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">120万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">480万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">4</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">社群</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">60万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">210万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">3.5</td></tr><tr><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">直播</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">90万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">360万</td><td style="border:1px solid #cbd5e1;padding:4px 8px;font-size:11px">4</td></tr></tbody></table></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">3. pages/03_chart</div><div class="slide" style='background:#F8FAFC'><div class="el" id="page-title" data-kind="text" style="position:absolute;left:60px;top:40px;width:840px;height:50px;font-size:28px;line-height:1.2;color:#1F2937;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">渠道 GMV 走势</div><div class="el" id="chart-c" data-kind="chart" style="position:absolute;left:60px;top:130px;width:840px;height:330px"><svg viewBox="0 0 840 330" width="840" height="330" xmlns="http://www.w3.org/2000/svg" style="display:block"><line x1="36" y1="12.0" x2="828.0" y2="12.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="12.0" x2="36" y2="12.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="15.0" font-size="9" fill="#64748b" text-anchor="end">420</text><line x1="36" y1="80.5" x2="828.0" y2="80.5" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="80.5" x2="36" y2="80.5" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="83.5" font-size="9" fill="#64748b" text-anchor="end">315</text><line x1="36" y1="149.0" x2="828.0" y2="149.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="149.0" x2="36" y2="149.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="152.0" font-size="9" fill="#64748b" text-anchor="end">210</text><line x1="36" y1="217.5" x2="828.0" y2="217.5" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="217.5" x2="36" y2="217.5" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="220.5" font-size="9" fill="#64748b" text-anchor="end">105</text><line x1="36" y1="286.0" x2="828.0" y2="286.0" stroke="#e2e8f0" stroke-width="1"/><line x1="33" y1="286.0" x2="36" y2="286.0" stroke="#cbd5e1" stroke-width="1"/><text x="31" y="289.0" font-size="9" fill="#64748b" text-anchor="end">0</text><line x1="36" y1="12" x2="36" y2="286.0" stroke="#cbd5e1" stroke-width="1"/><line x1="36" y1="286.0" x2="828.0" y2="286.0" stroke="#cbd5e1" stroke-width="1"/><rect x="74.9" y="77.2" width="92.4" height="208.8" fill="#2563EB"><title>Web · 7月: 320</title></rect><rect x="338.9" y="51.1" width="92.4" height="234.9" fill="#2563EB"><title>Web · 8月: 360</title></rect><rect x="602.8" y="12.0" width="92.4" height="274.0" fill="#2563EB"><title>Web · 9月: 420</title></rect><rect x="168.8" y="149.0" width="92.4" height="137.0" fill="#F59E0B"><title>App · 7月: 210</title></rect><rect x="432.8" y="129.4" width="92.4" height="156.6" fill="#F59E0B"><title>App · 8月: 240</title></rect><rect x="696.8" y="90.3" width="92.4" height="195.7" fill="#F59E0B"><title>App · 9月: 300</title></rect><text x="168.0" y="298.0" font-size="9" fill="#475569" text-anchor="middle">7月</text><line x1="168.0" y1="286.0" x2="168.0" y2="289.0" stroke="#cbd5e1" stroke-width="1"/><text x="432.0" y="298.0" font-size="9" fill="#475569" text-anchor="middle">8月</text><line x1="432.0" y1="286.0" x2="432.0" y2="289.0" stroke="#cbd5e1" stroke-width="1"/><text x="696.0" y="298.0" font-size="9" fill="#475569" text-anchor="middle">9月</text><line x1="696.0" y1="286.0" x2="696.0" y2="289.0" stroke="#cbd5e1" stroke-width="1"/><rect x="8" y="319.0" width="8" height="8" fill="#2563EB" rx="1"/><text x="22" y="326.0" font-size="9" fill="#64748b">Web</text><rect x="44.85" y="319.0" width="8" height="8" fill="#F59E0B" rx="1"/><text x="58.85" y="326.0" font-size="9" fill="#64748b">App</text></svg></div><div class="el" id="caption" data-kind="text" style="position:absolute;left:60px;top:480px;width:840px;height:30px;font-size:12px;line-height:1.2;color:#64748B;overflow:visible;white-space:pre-wrap;word-break:break-word">数据来源:内部经营报表(2026-09 月报)</div></div></section></body></html>