dsh-ppt-studio 1.1.0
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.
- package/LICENSE +21 -0
- package/README.md +480 -0
- package/agent-presets/ppt/agent.cordis.yml +308 -0
- package/agent-presets/ppt/preset.yml +3 -0
- package/cordis.patch.yml +29 -0
- package/docs/00-/350/256/276/350/256/241/346/272/220.md +537 -0
- package/docs/01-/351/234/200/346/261/202/344/270/216/347/233/256/346/240/207.md +136 -0
- package/docs/02-/346/212/200/346/234/257/346/212/245/345/221/212.md +483 -0
- package/docs/03-/346/233/264/346/226/260/346/227/245/345/277/227.md +2898 -0
- package/docs/04-/350/267/257/347/272/277/345/233/276/344/270/216/351/207/214/347/250/213/347/242/221.md +113 -0
- package/docs/05-/350/277/255/344/273/243/346/265/201/347/250/213.md +210 -0
- package/docs/06-/350/257/204/345/256/241/344/270/216/346/265/213/350/257/225.md +296 -0
- package/docs/fidelity-report.md +225 -0
- package/examples/fx/fx-mini/deck.yaml +39 -0
- package/examples/fx/fx-mini/pages/01.yaml +6 -0
- package/examples/fx/fx-mini/pages/02.yaml +2 -0
- package/examples/fx/fx-mini/pages/03.yaml +6 -0
- package/examples/fx/fx-pro/deck.yaml +48 -0
- package/examples/fx/fx-pro/pages/01_cover.yaml +40 -0
- package/examples/fx/fx-pro/pages/02_arch.yaml +55 -0
- package/examples/fx/fx-pro/pages/03_table.yaml +20 -0
- package/examples/fx/fx-pro/pages/04_chart.yaml +40 -0
- package/examples/fx/fx-pro/pages/05_timeline.yaml +71 -0
- package/examples/fx/fx-pro/pages/06_longtext.yaml +13 -0
- package/examples/fx/fx-pro/pages/07_safearea.yaml +33 -0
- package/examples/fx/fx-pro/pages/08_contrast.yaml +22 -0
- package/examples/fx/fx-pro/pages/09_custgeom.yaml +32 -0
- package/examples/fx/fx-pro/pages/10_numbers.yaml +25 -0
- package/examples/fx/fx-pro/pages/11_section.yaml +20 -0
- package/examples/fx/fx-pro/pages/12_summary.yaml +57 -0
- package/examples/fx/fx-pro/preview/01_pages_01_cover.html +1 -0
- package/examples/fx/fx-pro/preview/02_pages_02_arch.html +3 -0
- package/examples/fx/fx-pro/preview/03_pages_03_table.html +1 -0
- package/examples/fx/fx-pro/preview/04_pages_04_chart.html +3 -0
- package/examples/fx/fx-pro/preview/05_pages_05_timeline.html +2 -0
- package/examples/fx/fx-pro/preview/06_pages_06_longtext.html +4 -0
- package/examples/fx/fx-pro/preview/07_pages_07_safearea.html +2 -0
- package/examples/fx/fx-pro/preview/08_pages_08_contrast.html +1 -0
- package/examples/fx/fx-pro/preview/09_pages_09_custgeom.html +1 -0
- package/examples/fx/fx-pro/preview/10_pages_10_numbers.html +1 -0
- package/examples/fx/fx-pro/preview/11_pages_11_section.html +1 -0
- package/examples/fx/fx-pro/preview/12_pages_12_summary.html +1 -0
- package/examples/fx/fx-pro/preview/deck.html +10 -0
- package/examples/fx/fx-pro/preview/layout.json +2325 -0
- package/examples/fx/fx-pro/preview/measured.json +814 -0
- package/examples/fx/fx-pro.pptx +0 -0
- package/examples/fx/ren-single/01.png +0 -0
- package/examples/fx/ren-spliced/01.png +0 -0
- package/examples/fx/ren-spliced/03.png +0 -0
- package/examples/fx/seed.pptx +0 -0
- package/examples/fx/single.pptx +0 -0
- package/examples/fx/spliced.pptx +0 -0
- package/examples/smoke/deck.yaml +26 -0
- package/examples/smoke/imported/deck.yaml +30 -0
- package/examples/smoke/imported/import-styles.json +126 -0
- package/examples/smoke/imported/pages/slide_01.yaml +31 -0
- package/examples/smoke/imported/pages/slide_02.yaml +38 -0
- package/examples/smoke/imported/pages/slide_03.yaml +55 -0
- package/examples/smoke/imported/preview-rt/01_pages_slide_01.html +1 -0
- package/examples/smoke/imported/preview-rt/02_pages_slide_02.html +1 -0
- package/examples/smoke/imported/preview-rt/03_pages_slide_03.html +1 -0
- package/examples/smoke/imported/preview-rt/deck.html +1 -0
- package/examples/smoke/imported/preview-rt/layout.json +434 -0
- package/examples/smoke/imported/reference/previews/01.png +0 -0
- package/examples/smoke/imported/reference/previews/02.png +0 -0
- package/examples/smoke/imported/reference/previews/03.png +0 -0
- package/examples/smoke/imported/source.pptx +0 -0
- package/examples/smoke/media-test.png +0 -0
- package/examples/smoke/out-smoke.pptx +0 -0
- package/examples/smoke/pages/01_cover.yaml +27 -0
- package/examples/smoke/pages/02_content.yaml +42 -0
- package/examples/smoke/pages/03_chart.yaml +35 -0
- package/examples/smoke/preview/01_pages_01_cover.html +1 -0
- package/examples/smoke/preview/02_pages_02_content.html +1 -0
- package/examples/smoke/preview/03_pages_03_chart.html +1 -0
- package/examples/smoke/preview/deck.html +1 -0
- package/examples/smoke/preview/layout.json +378 -0
- package/lib/autodeclare.js +40 -0
- package/lib/commands.js +161 -0
- package/lib/crosscheck.js +300 -0
- package/lib/imgmeta.js +55 -0
- package/lib/index.js +239 -0
- package/lib/measurement.js +209 -0
- package/lib/msrender.js +123 -0
- package/lib/pptd/export-pptx.js +686 -0
- package/lib/pptd/import-pptx.js +774 -0
- package/lib/pptd/layout.js +209 -0
- package/lib/pptd/render-html.js +254 -0
- package/lib/pptd/schema.js +518 -0
- package/lib/pptd/svgCharts.js +147 -0
- package/lib/pptxPy.js +205 -0
- package/lib/preset-delivery.js +195 -0
- package/lib/preview-server.js +164 -0
- package/lib/router.js +165 -0
- package/lib/scaffold.js +315 -0
- package/lib/skill.js +174 -0
- package/lib/splice.js +219 -0
- package/lib/state.js +88 -0
- package/lib/surgical.js +369 -0
- package/lib/templates.js +400 -0
- package/lib/tools.js +955 -0
- package/lib/verify.js +828 -0
- package/lib/xmljs.js +112 -0
- package/lib/zips.js +117 -0
- package/package.json +81 -0
- package/scripts/audit-manual-facts.mjs +294 -0
- package/scripts/audit-template-fidelity.mjs +162 -0
- package/scripts/bench-m2.mjs +48 -0
- package/scripts/build-templates.mjs +63 -0
- package/scripts/build.mjs +14 -0
- package/scripts/build.sh +7 -0
- package/scripts/check-lib-freshness.mjs +70 -0
- package/scripts/check-preset.mjs +189 -0
- package/scripts/check-tracked-lf.mjs +84 -0
- package/scripts/dbg-import.mjs +13 -0
- package/scripts/dbg-media.mjs +10 -0
- package/scripts/dbg-tpl-inventory.mjs +23 -0
- package/scripts/dump-workflow-baseline.mjs +38 -0
- package/scripts/e2e-1.0.mjs +129 -0
- package/scripts/eval-skills-blind.mjs +91 -0
- package/scripts/eval-skills-score.mjs +129 -0
- package/scripts/export-orig-templates.ps1 +17 -0
- package/scripts/fixtures/workflow-baseline.json +300 -0
- package/scripts/fixtures.mjs +501 -0
- package/scripts/import-user-templates.mjs +60 -0
- package/scripts/install-desktop.mjs +312 -0
- package/scripts/install.mjs +209 -0
- package/scripts/migrate-templates-dualtrack.mjs +71 -0
- package/scripts/preflight-1.0.mjs +198 -0
- package/scripts/probe-asset-freshness.mjs +57 -0
- package/scripts/probe-effect-semantics.mjs +69 -0
- package/scripts/probe-reparse-safety.mjs +32 -0
- package/scripts/rebuild-templates-c11.mjs +69 -0
- package/scripts/regression-real.mjs +84 -0
- package/scripts/release-sync.mjs +425 -0
- package/scripts/shot-templates.mjs +49 -0
- package/scripts/smoke.mjs +2512 -0
- package/scripts/verify-bundle-install.mjs +281 -0
- package/scripts/verify-fresh-install.mjs +260 -0
- package/skills/ppt-studio-copy/SKILL.md +139 -0
- package/skills/ppt-studio-craft/SKILL.md +171 -0
- package/skills/ppt-studio-data/SKILL.md +173 -0
- package/skills/ppt-studio-manual/SKILL.md +104 -0
- package/templates/academic-white/deck.yaml +24 -0
- package/templates/academic-white/pages/_chart.yaml +43 -0
- package/templates/academic-white/pages/_compare.yaml +37 -0
- package/templates/academic-white/pages/_content.yaml +35 -0
- package/templates/academic-white/pages/_cover.yaml +28 -0
- package/templates/academic-white/pages/_ending.yaml +28 -0
- package/templates/academic-white/pages/_flow.yaml +61 -0
- package/templates/academic-white/preview.png +0 -0
- package/templates/academic-white/template.yaml +14 -0
- package/templates/business-blue/deck.yaml +28 -0
- package/templates/business-blue/pages/_chart.yaml +36 -0
- package/templates/business-blue/pages/_compare.yaml +45 -0
- package/templates/business-blue/pages/_content.yaml +80 -0
- package/templates/business-blue/pages/_cover.yaml +39 -0
- package/templates/business-blue/pages/_ending.yaml +32 -0
- package/templates/business-blue/pages/_flow.yaml +87 -0
- package/templates/business-blue/preview.png +0 -0
- package/templates/business-blue/template.yaml +14 -0
- package/templates/pitch-bold/deck.yaml +23 -0
- package/templates/pitch-bold/pages/_chart.yaml +32 -0
- package/templates/pitch-bold/pages/_compare.yaml +36 -0
- package/templates/pitch-bold/pages/_content.yaml +58 -0
- package/templates/pitch-bold/pages/_cover.yaml +31 -0
- package/templates/pitch-bold/pages/_ending.yaml +27 -0
- package/templates/pitch-bold/pages/_flow.yaml +46 -0
- package/templates/pitch-bold/preview.png +0 -0
- package/templates/pitch-bold/template.yaml +14 -0
- package/templates/tech-dark/deck.yaml +24 -0
- package/templates/tech-dark/pages/_chart.yaml +27 -0
- package/templates/tech-dark/pages/_compare.yaml +38 -0
- package/templates/tech-dark/pages/_content.yaml +51 -0
- package/templates/tech-dark/pages/_cover.yaml +30 -0
- package/templates/tech-dark/pages/_ending.yaml +25 -0
- package/templates/tech-dark/pages/_flow.yaml +80 -0
- package/templates/tech-dark/preview.png +0 -0
- package/templates/tech-dark/template.yaml +14 -0
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
换场景 = 换实例,零重构</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)
|
|
4
|
+
综合评 45.6% 提升
|
|
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
|
+
(时间线为示意图,非真实排期)</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、标点禁则——
|
|
7
|
+
显式断行是长句的最佳实践,容器也必须给足高度。
|
|
8
|
+
本夹具故意把每行控制在 40 字以内,并预留 340px 高度(约 20 行×16.8px),确保门禁零错误,
|
|
9
|
+
同时验证保守估算不误报:若容器足够,estimate 与实测应一致。</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">7. pages/07_safearea</div><div class="slide" style='background:#F8FAFC'><div class="el" id="logo" data-kind="shape" data-shape="ellipse" style="position:absolute;left:895px;top:8px;width:40px;height:30px;border-radius:50%;background:#2563EB"></div><div class="el" id="logo_t" data-kind="text" style="position:absolute;left:897px;top:12px;width:36px;height:24px;font-size:14px;line-height:1.2;color:#FFFFFF;font-family:微软雅黑;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">S</div><div class="el" id="sa_title" data-kind="text" style="position:absolute;left:60px;top:70px;width:600px;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">安全区与页脚带声明(logo 落在安全区外)</div><div class="el" id="sa_body" data-kind="text" style="position:absolute;left:60px;top:140px;width:840px;height:200px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">主题 safeArea 定义为顶/底/左/右 34/26/40/40px:内容不得侵入。
|
|
10
|
+
页脚带(y≥514)属于安全区外——如需放角标,用 expectedOutOfSafeArea 声明(已声明 logo)。</div><div class="el" id="footer" data-kind="shape" data-shape="rect" style="position:absolute;left:0px;top:514px;width:960px;height:26px;background:#E2E8F0"></div><div class="el" id="footer_t" data-kind="text" style="position:absolute;left:60px;top:518px;width:300px;height:20px;font-size:12px;line-height:1.2;color:#64748B;font-family:微软雅黑;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">8. pages/08_contrast</div><div class="slide" style='background:#F8FAFC'><div class="el" id="ct_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:600px;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="carrier" data-kind="shape" data-shape="parallelogram" style="position:absolute;left:60px;top:150px;width:400px;height:180px;clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);background:linear-gradient(180deg, #0F172A 0%, #2563EB 100%)"></div><div class="el" id="carrier_t" data-kind="text" style="position:absolute;left:110px;top:230px;width:300px;height:60px;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="ct_note" data-kind="text" style="position:absolute;left:520px;top:170px;width:380px;height:140px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">对比度启发式以最近承载面(渐变中途 stop)为基准——本页不应报"白字 vs 页面背景"误报。</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">9. pages/09_custgeom</div><div class="slide" style='background:#F8FAFC'><div class="el" id="cg_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:600px;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">custGeom 自定义几何(弧带装饰)</div><svg class="el" id="arc" data-kind="shape" data-shape="custGeom" style="position:absolute;left:600px;top:320px;width:320px;height:200px;overflow:visible" viewBox="0 0 320 200" preserveAspectRatio="none"><path d="M 0 200 A 160 100 0 0 1 -160.00 300.00 L 200 60 C 180 40 120 20 0 20 Z" fill="rgba(37,99,235,0.350)" stroke="none" stroke-width="0"/></svg><div class="el" id="cg_body" data-kind="text" style="position:absolute;left:60px;top:140px;width:500px;height:160px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">弧带为装饰层(role: decoration 豁免重叠);几何:moveTo/arcTo/lnTo/cubicBezTo/close。</div><div class="el" id="deco" data-kind="shape" data-shape="ellipse" style="position:absolute;left:700px;top:60px;width:120px;height:120px;border-radius:50%;background:rgba(245,158,11,0.300)"></div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">10. pages/10_numbers</div><div class="slide" style='background:#F8FAFC'><div class="el" id="num_card" data-kind="shape" data-shape="roundRect" style="position:absolute;left:60px;top:90px;width:380px;height:220px;border-radius:8px;background:#FFFFFF;border:1px solid #CBD5E1"></div><div class="el" id="num_v" data-kind="text" style="position:absolute;left:100px;top:120px;width:300px;height:80px;font-size:32px;line-height:1.2;color:#2563EB;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">45.6%</div><div class="el" id="num_l" data-kind="text" style="position:absolute;left:100px;top:220px;width:300px;height:40px;font-size:12px;line-height:1.2;color:#64748B;font-family:微软雅黑;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">综合效率提升(与 04 页同值)</div><div class="el" id="num_note" data-kind="text" style="position:absolute;left:480px;top:120px;width:420px;height:160px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">跨页演示:本页 45.6% 与第 04 页 key_body 的 45.6% 应出现在 ppt_crosscheck 材料包。</div></div></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">11. pages/11_section</div><div class="slide" style='background:#F8FAFC'><div class="el" id="sec_band" data-kind="shape" data-shape="rect" style="position:absolute;left:0px;top:0px;width:960px;height:540px;background:#0F172A"></div><div class="el" id="sec_num" data-kind="text" style="position:absolute;left:80px;top:180px;width:300px;height:120px;font-size:32px;line-height:1.2;color:#F59E0B;font-family:微软雅黑;font-weight:bold;overflow:visible;white-space:pre-wrap;word-break:break-word">03</div><div class="el" id="sec_t" data-kind="text" style="position:absolute;left:400px;top:200px;width:480px;height:80px;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></section><section style="margin:0 auto 24px;width:960px;padding:4px 0"><div style="font:12px monospace;color:#e2e8f0;padding:2px 8px">12. pages/12_summary</div><div class="slide" style='background:#F8FAFC'><div class="el" id="sm_head" data-kind="text" style="position:absolute;left:60px;top:60px;width:600px;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="sm_a" data-kind="shape" data-shape="roundRect" style="position:absolute;left:60px;top:130px;width:260px;height:180px;border-radius:8px;background:#DBEAFE"></div><div class="el" id="sm_a_t" data-kind="text" style="position:absolute;left:80px;top:150px;width:220px;height:60px;font-size:16px;line-height:1.2;color:#1E3A8A;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">声明制</div><div class="el" id="sm_a_b" data-kind="text" style="position:absolute;left:80px;top:220px;width:220px;height:70px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">冲突防不住?声明设计意图</div><div class="el" id="sm_b" data-kind="shape" data-shape="roundRect" style="position:absolute;left:350px;top:130px;width:260px;height:180px;border-radius:8px;background:#FEF3C7"></div><div class="el" id="sm_b_t" data-kind="text" style="position:absolute;left:370px;top:150px;width:220px;height:60px;font-size:16px;line-height:1.2;color:#92400E;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">双轨审阅</div><div class="el" id="sm_b_b" data-kind="text" style="position:absolute;left:370px;top:220px;width:220px;height:70px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">数字门禁 + 视觉审阅 + 真渲染</div><div class="el" id="sm_c" data-kind="shape" data-shape="roundRect" style="position:absolute;left:640px;top:130px;width:260px;height:180px;border-radius:8px;background:#D1FAE5"></div><div class="el" id="sm_c_t" data-kind="text" style="position:absolute;left:660px;top:150px;width:220px;height:60px;font-size:16px;line-height:1.2;color:#065F46;font-family:微软雅黑;font-weight:bold;text-align:center;overflow:visible;white-space:pre-wrap;word-break:break-word">保真交付</div><div class="el" id="sm_c_b" data-kind="text" style="position:absolute;left:660px;top:220px;width:220px;height:70px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">splice / slice / patch</div><div class="el" id="sm_foot" data-kind="text" style="position:absolute;left:60px;top:360px;width:840px;height:90px;font-size:14px;line-height:1.2;color:#1F2937;font-family:微软雅黑;overflow:visible;white-space:pre-wrap;word-break:break-word">结论:元素区块冲突被机器防住(声明制),质量可验证(三轨),保真可一指令(splice)。</div></div></section></body></html>
|