@taloswork/ose-shared 0.1.3 → 0.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 (138) hide show
  1. package/package.json +3 -3
  2. package/skills/document/SKILL.md +54 -47
  3. package/skills/document/assets/fonts/ChakraPetch-600.woff2 +0 -0
  4. package/skills/document/assets/fonts/DMSerifDisplay-400.woff2 +0 -0
  5. package/skills/document/assets/fonts/Lexend-500.woff2 +0 -0
  6. package/skills/document/assets/fonts/Nunito-700.woff2 +0 -0
  7. package/skills/document/assets/fonts/PlayfairDisplay-600.woff2 +0 -0
  8. package/skills/document/assets/fonts/Quicksand-600.woff2 +0 -0
  9. package/skills/document/assets/fonts/SpaceGrotesk-500.woff2 +0 -0
  10. package/skills/document/assets/fonts/Syne-700.woff2 +0 -0
  11. package/skills/document/assets/fonts/ZillaSlab-600.woff2 +0 -0
  12. package/skills/document/assets/fonts/fonts.json +314 -216
  13. package/skills/document/bin/html2pptx.cjs +7 -5
  14. package/skills/document/catalog.json +37 -19
  15. package/skills/document/layouts/README.md +1 -0
  16. package/skills/document/layouts/big-stat.tpl +1 -1
  17. package/skills/document/layouts/quote-aside.tpl +11 -0
  18. package/skills/document/layouts/slots.json +1 -1
  19. package/skills/document/motion/README.md +19 -1
  20. package/skills/document/motion/anthropic.json +29 -0
  21. package/skills/document/motion/apple.json +41 -0
  22. package/skills/document/motion/bistro-warm.json +16 -0
  23. package/skills/document/motion/black-gold.json +29 -0
  24. package/skills/document/motion/board-brief.json +14 -0
  25. package/skills/document/motion/bold-clash.json +16 -0
  26. package/skills/document/motion/branding.json +22 -0
  27. package/skills/document/motion/campus-teal.json +22 -0
  28. package/skills/document/motion/cinereel.json +23 -0
  29. package/skills/document/motion/clinic-care.json +22 -0
  30. package/skills/document/motion/cool.json +41 -0
  31. package/skills/document/motion/dark-glass.json +22 -0
  32. package/skills/document/motion/gov-brief.json +14 -0
  33. package/skills/document/motion/grid-tech.json +16 -0
  34. package/skills/document/motion/hand-drawn.json +23 -0
  35. package/skills/document/motion/ivory-gold.json +22 -0
  36. package/skills/document/motion/legal-slate.json +15 -0
  37. package/skills/document/motion/magazine-ink.json +29 -0
  38. package/skills/document/motion/mckinsey.json +28 -0
  39. package/skills/document/motion/memphis.json +16 -0
  40. package/skills/document/motion/mono.json +21 -0
  41. package/skills/document/motion/neon-cyber.json +42 -0
  42. package/skills/document/motion/olive-gold.json +22 -0
  43. package/skills/document/motion/organic-earth.json +15 -0
  44. package/skills/document/motion/pastel-saas.json +15 -0
  45. package/skills/document/motion/portfolio-noir.json +21 -0
  46. package/skills/document/motion/press-room.json +14 -0
  47. package/skills/document/motion/retro-press.json +15 -0
  48. package/skills/document/motion/sport-arena.json +16 -0
  49. package/skills/document/motion/swiss-grid.json +34 -0
  50. package/skills/document/motion/wedding-blush.json +15 -0
  51. package/skills/document/packs/README.md +20 -1
  52. package/skills/document/packs/board-brief/backdrop.html +4 -0
  53. package/skills/document/packs/board-brief/layouts/cover.tpl +12 -0
  54. package/skills/document/packs/board-brief/layouts/toc-agenda.tpl +20 -0
  55. package/skills/document/packs/board-brief/pack.css +27 -0
  56. package/skills/document/packs/press-room/backdrop.html +4 -0
  57. package/skills/document/packs/press-room/layouts/cover.tpl +12 -0
  58. package/skills/document/packs/press-room/layouts/section.tpl +13 -0
  59. package/skills/document/packs/press-room/pack.css +27 -0
  60. package/skills/document/styles/README.md +32 -4
  61. package/skills/document/styles/_samples/_groups/biz-premium.webp +0 -0
  62. package/skills/document/styles/_samples/_groups/creative.webp +0 -0
  63. package/skills/document/styles/_samples/_groups/editorial.webp +0 -0
  64. package/skills/document/styles/_samples/_groups/minimal.webp +0 -0
  65. package/skills/document/styles/_samples/_groups/natural.webp +0 -0
  66. package/skills/document/styles/_samples/_groups/tech-future.webp +0 -0
  67. package/skills/document/styles/_samples/anthropic.webp +0 -0
  68. package/skills/document/styles/_samples/apple.webp +0 -0
  69. package/skills/document/styles/_samples/bistro-warm.webp +0 -0
  70. package/skills/document/styles/_samples/black-gold.webp +0 -0
  71. package/skills/document/styles/_samples/board-brief.webp +0 -0
  72. package/skills/document/styles/_samples/bold-clash.webp +0 -0
  73. package/skills/document/styles/_samples/campus-teal.webp +0 -0
  74. package/skills/document/styles/_samples/cinereel.webp +0 -0
  75. package/skills/document/styles/_samples/clinic-care.webp +0 -0
  76. package/skills/document/styles/_samples/cool.webp +0 -0
  77. package/skills/document/styles/_samples/dark-glass.webp +0 -0
  78. package/skills/document/styles/_samples/gov-brief.webp +0 -0
  79. package/skills/document/styles/_samples/grid-tech.webp +0 -0
  80. package/skills/document/styles/_samples/hand-drawn.webp +0 -0
  81. package/skills/document/styles/_samples/ivory-gold.webp +0 -0
  82. package/skills/document/styles/_samples/legal-slate.webp +0 -0
  83. package/skills/document/styles/_samples/magazine-ink.webp +0 -0
  84. package/skills/document/styles/_samples/memphis.webp +0 -0
  85. package/skills/document/styles/_samples/mono.webp +0 -0
  86. package/skills/document/styles/_samples/neon-cyber.webp +0 -0
  87. package/skills/document/styles/_samples/olive-gold.webp +0 -0
  88. package/skills/document/styles/_samples/organic-earth.webp +0 -0
  89. package/skills/document/styles/_samples/pastel-saas.webp +0 -0
  90. package/skills/document/styles/_samples/portfolio-noir.webp +0 -0
  91. package/skills/document/styles/_samples/press-room.webp +0 -0
  92. package/skills/document/styles/_samples/retro-press.webp +0 -0
  93. package/skills/document/styles/_samples/sport-arena.webp +0 -0
  94. package/skills/document/styles/_samples/wedding-blush.webp +0 -0
  95. package/skills/document/styles/anthropic/skin.css +1 -1
  96. package/skills/document/styles/bistro-warm/backdrop.html +4 -0
  97. package/skills/document/styles/bistro-warm/skin.css +27 -0
  98. package/skills/document/styles/black-gold/skin.css +1 -1
  99. package/skills/document/styles/bold-clash/backdrop.html +4 -0
  100. package/skills/document/styles/bold-clash/skin.css +27 -0
  101. package/skills/document/styles/branding/skin.css +1 -1
  102. package/skills/document/styles/campus-teal/backdrop.html +3 -0
  103. package/skills/document/styles/campus-teal/skin.css +27 -0
  104. package/skills/document/styles/cinereel/skin.css +2 -2
  105. package/skills/document/styles/clinic-care/backdrop.html +4 -0
  106. package/skills/document/styles/clinic-care/skin.css +27 -0
  107. package/skills/document/styles/dark-glass/backdrop.html +4 -0
  108. package/skills/document/styles/dark-glass/skin.css +27 -0
  109. package/skills/document/styles/gov-brief/backdrop.html +4 -0
  110. package/skills/document/styles/gov-brief/skin.css +27 -0
  111. package/skills/document/styles/grid-tech/backdrop.html +37 -0
  112. package/skills/document/styles/grid-tech/skin.css +27 -0
  113. package/skills/document/styles/hand-drawn/skin.css +2 -2
  114. package/skills/document/styles/ivory-gold/skin.css +2 -2
  115. package/skills/document/styles/legal-slate/backdrop.html +6 -0
  116. package/skills/document/styles/legal-slate/skin.css +27 -0
  117. package/skills/document/styles/magazine-ink/skin.css +1 -1
  118. package/skills/document/styles/memphis/backdrop.html +5 -0
  119. package/skills/document/styles/memphis/skin.css +27 -0
  120. package/skills/document/styles/mono/skin.css +1 -1
  121. package/skills/document/styles/neon-cyber/backdrop.html +4 -0
  122. package/skills/document/styles/neon-cyber/skin.css +27 -0
  123. package/skills/document/styles/olive-gold/skin.css +1 -1
  124. package/skills/document/styles/organic-earth/backdrop.html +4 -0
  125. package/skills/document/styles/organic-earth/skin.css +27 -0
  126. package/skills/document/styles/pastel-saas/backdrop.html +4 -0
  127. package/skills/document/styles/pastel-saas/skin.css +27 -0
  128. package/skills/document/styles/portfolio-noir/backdrop.html +4 -0
  129. package/skills/document/styles/portfolio-noir/skin.css +27 -0
  130. package/skills/document/styles/retro-press/backdrop.html +6 -0
  131. package/skills/document/styles/retro-press/skin.css +27 -0
  132. package/skills/document/styles/sport-arena/backdrop.html +4 -0
  133. package/skills/document/styles/sport-arena/skin.css +27 -0
  134. package/skills/document/styles/wedding-blush/backdrop.html +6 -0
  135. package/skills/document/styles/wedding-blush/skin.css +27 -0
  136. package/skills/image-compose/LICENSE.txt +30 -0
  137. package/skills/image-compose/SKILL.md +137 -0
  138. package/skills/image-compose/bin/html2img.cjs +122 -0
@@ -1,25 +1,43 @@
1
1
  {
2
2
  "groups": [
3
- { "id": "tech-future", "name_cn": "科技未来", "sample": "styles/_samples/_groups/tech-future.webp", "scenarios": ["科技", "发布会", "产品", "pitch"] },
4
- { "id": "biz-premium", "name_cn": "商务高端", "sample": "styles/_samples/_groups/biz-premium.webp", "scenarios": ["金融", "年报", "路演", "招商", "董事会"] },
5
- { "id": "minimal", "name_cn": "极简设计", "sample": "styles/_samples/_groups/minimal.webp", "scenarios": ["极简", "设计", "作品集"] },
6
- { "id": "editorial", "name_cn": "编辑人文", "sample": "styles/_samples/_groups/editorial.webp", "scenarios": ["人文", "行业观察", "杂志感", "研究分享"] },
7
- { "id": "creative", "name_cn": "创意手作", "sample": "styles/_samples/_groups/creative.webp", "scenarios": ["创意", "教学", "工作坊", "头脑风暴"] },
8
- { "id": "natural", "name_cn": "自然温和", "sample": "styles/_samples/_groups/natural.webp", "scenarios": ["品牌手册", "可持续", "美妆", "零售"] }
3
+ {"id":"tech-future","name_cn":"科技未来","sample":"styles/_samples/_groups/tech-future.webp","scenarios":["科技","发布会","产品","pitch"]},
4
+ {"id":"biz-premium","name_cn":"商务高端","sample":"styles/_samples/_groups/biz-premium.webp","scenarios":["金融","年报","路演","招商","董事会"]},
5
+ {"id":"minimal","name_cn":"极简设计","sample":"styles/_samples/_groups/minimal.webp","scenarios":["极简","设计","作品集"]},
6
+ {"id":"editorial","name_cn":"编辑人文","sample":"styles/_samples/_groups/editorial.webp","scenarios":["人文","行业观察","杂志感","研究分享"]},
7
+ {"id":"creative","name_cn":"创意手作","sample":"styles/_samples/_groups/creative.webp","scenarios":["创意","教学","工作坊","头脑风暴"]},
8
+ {"id":"natural","name_cn":"自然温和","sample":"styles/_samples/_groups/natural.webp","scenarios":["品牌手册","可持续","美妆","零售"]}
9
9
  ],
10
10
  "entries": [
11
- { "id": "cool", "kind": "skin", "group": "tech-future", "name_cn": "酷炫深色", "oneliner": "深蓝辉光 · 科技发布", "scenarios": ["科技", "发布", "pitch", "主题演讲"], "mode": "dark", "sample": "styles/_samples/cool.webp" },
12
- { "id": "swiss-grid", "kind": "skin", "group": "tech-future", "name_cn": "瑞士国际", "oneliner": "克莱因蓝白 · 瑞士国际", "scenarios": ["科技产品", "数据汇报", "设计", "年度总结"], "mode": "light", "sample": "styles/_samples/swiss-grid.webp" },
13
- { "id": "black-gold", "kind": "skin", "group": "biz-premium", "name_cn": "黑金", "oneliner": "纯黑金辉 · 高端商务", "scenarios": ["金融", "年报", "路演", "奢侈品"], "mode": "dark", "sample": "styles/_samples/black-gold.webp" },
14
- { "id": "olive-gold", "kind": "skin", "group": "biz-premium", "name_cn": "橄榄金", "oneliner": "橄榄亮金 · 高端招商", "scenarios": ["高端", "证书", "招商", "品牌"], "mode": "dark", "sample": "styles/_samples/olive-gold.webp" },
15
- { "id": "mckinsey", "kind": "skin", "group": "biz-premium", "name_cn": "白底咨询", "oneliner": "白底藏青 · 咨询评审", "scenarios": ["咨询", "战略汇报", "评审", "董事会"], "mode": "light", "sample": "styles/_samples/mckinsey.webp" },
16
- { "id": "apple", "kind": "skin", "group": "minimal", "name_cn": "纯黑极简", "oneliner": "纯黑极简 · 产品发布", "scenarios": ["产品发布", "主题演讲", "极简演示"], "mode": "dark", "sample": "styles/_samples/apple.webp" },
17
- { "id": "mono", "kind": "skin", "group": "minimal", "name_cn": "纯白黑灰", "oneliner": "纯白黑灰 · 极简设计", "scenarios": ["极简", "高端", "设计", "单色报告"], "mode": "light", "sample": "styles/_samples/mono.webp" },
18
- { "id": "ivory-gold", "kind": "skin", "group": "minimal", "name_cn": "奶油青铜", "oneliner": "奶油青铜 · 奢华极简", "scenarios": ["奢华极简", "品牌手册", "路演", "高端零售"], "mode": "light", "sample": "styles/_samples/ivory-gold.webp" },
19
- { "id": "magazine-ink", "kind": "skin", "group": "editorial", "name_cn": "杂志墨", "oneliner": "瓷白靛蓝 · 杂志人文", "scenarios": ["人文分享", "行业观察", "商业发布"], "mode": "light", "sample": "styles/_samples/magazine-ink.webp" },
20
- { "id": "anthropic", "kind": "skin", "group": "editorial", "name_cn": "奶油珊瑚", "oneliner": "奶油珊瑚 · AI 研究", "scenarios": ["AI", "产品", "研究分享", "人文品牌"], "mode": "light", "sample": "styles/_samples/anthropic.webp" },
21
- { "id": "hand-drawn", "kind": "skin", "group": "creative", "name_cn": "纸感手绘", "oneliner": "纸感手绘 · 创意教学", "scenarios": ["创意", "头脑风暴", "教学", "工作坊"], "mode": "light", "sample": "styles/_samples/hand-drawn.webp" },
22
- { "id": "cinereel", "kind": "skin", "group": "creative", "name_cn": "黑白胶片", "oneliner": "黑白胶片 · 影视创意", "scenarios": ["影视", "创意作品集", "音乐", "传媒"], "mode": "dark", "sample": "styles/_samples/cinereel.webp" },
23
- { "id": "branding", "kind": "skin", "group": "natural", "name_cn": "暖米绿意", "oneliner": "暖米绿意 · 品牌手册", "scenarios": ["品牌手册", "可持续", "美妆", "零售", "极简"], "mode": "light", "sample": "styles/_samples/branding.webp" }
11
+ {"id":"cool","kind":"skin","group":"tech-future","name_cn":"酷炫深色","oneliner":"深蓝辉光 · 科技发布","scenarios":["科技","发布","pitch","主题演讲"],"mode":"dark","sample":"styles/_samples/cool.webp","motion":"motion/cool.json"},
12
+ {"id":"neon-cyber","kind":"skin","group":"tech-future","name_cn":"霓虹赛博","oneliner":"霓虹品红 · 赛博夜场","scenarios":["科技","游戏","Web3","夜场发布"],"mode":"dark","sample":"styles/_samples/neon-cyber.webp","motion":"motion/neon-cyber.json"},
13
+ {"id":"swiss-grid","kind":"skin","group":"tech-future","name_cn":"瑞士国际","oneliner":"克莱因蓝白 · 瑞士国际","scenarios":["科技产品","数据汇报","设计","年度总结"],"mode":"light","sample":"styles/_samples/swiss-grid.webp","motion":"motion/swiss-grid.json"},
14
+ {"id":"black-gold","kind":"skin","group":"biz-premium","name_cn":"黑金","oneliner":"纯黑金辉 · 高端商务","scenarios":["金融","年报","路演","奢侈品"],"mode":"dark","sample":"styles/_samples/black-gold.webp","motion":"motion/black-gold.json"},
15
+ {"id":"olive-gold","kind":"skin","group":"biz-premium","name_cn":"橄榄金","oneliner":"橄榄亮金 · 高端招商","scenarios":["高端","证书","招商","品牌"],"mode":"dark","sample":"styles/_samples/olive-gold.webp","motion":"motion/olive-gold.json"},
16
+ {"id":"mckinsey","kind":"skin","group":"biz-premium","name_cn":"白底咨询","oneliner":"白底藏青 · 咨询评审","scenarios":["咨询","战略汇报","评审","董事会"],"mode":"light","sample":"styles/_samples/mckinsey.webp","motion":"motion/mckinsey.json"},
17
+ {"id":"apple","kind":"skin","group":"minimal","name_cn":"纯黑极简","oneliner":"纯黑极简 · 产品发布","scenarios":["产品发布","主题演讲","极简演示"],"mode":"dark","sample":"styles/_samples/apple.webp","motion":"motion/apple.json"},
18
+ {"id":"mono","kind":"skin","group":"minimal","name_cn":"纯白黑灰","oneliner":"纯白黑灰 · 极简设计","scenarios":["极简","高端","设计","单色报告"],"mode":"light","sample":"styles/_samples/mono.webp","motion":"motion/mono.json"},
19
+ {"id":"ivory-gold","kind":"skin","group":"minimal","name_cn":"奶油青铜","oneliner":"奶油青铜 · 奢华极简","scenarios":["奢华极简","品牌手册","路演","高端零售"],"mode":"light","sample":"styles/_samples/ivory-gold.webp","motion":"motion/ivory-gold.json"},
20
+ {"id":"magazine-ink","kind":"skin","group":"editorial","name_cn":"杂志墨","oneliner":"瓷白靛蓝 · 杂志人文","scenarios":["人文分享","行业观察","商业发布"],"mode":"light","sample":"styles/_samples/magazine-ink.webp","motion":"motion/magazine-ink.json"},
21
+ {"id":"anthropic","kind":"skin","group":"editorial","name_cn":"奶油珊瑚","oneliner":"奶油珊瑚 · AI 研究","scenarios":["AI","产品","研究分享","人文品牌"],"mode":"light","sample":"styles/_samples/anthropic.webp","motion":"motion/anthropic.json"},
22
+ {"id":"hand-drawn","kind":"skin","group":"creative","name_cn":"纸感手绘","oneliner":"纸感手绘 · 创意教学","scenarios":["创意","头脑风暴","教学","工作坊"],"mode":"light","sample":"styles/_samples/hand-drawn.webp","motion":"motion/hand-drawn.json"},
23
+ {"id":"cinereel","kind":"skin","group":"creative","name_cn":"黑白胶片","oneliner":"黑白胶片 · 影视创意","scenarios":["影视","创意作品集","音乐","传媒"],"mode":"dark","sample":"styles/_samples/cinereel.webp","motion":"motion/cinereel.json"},
24
+ {"id":"branding","kind":"skin","group":"natural","name_cn":"暖米绿意","oneliner":"暖米绿意 · 品牌手册","scenarios":["品牌手册","可持续","美妆","零售","极简"],"mode":"light","sample":"styles/_samples/branding.webp","motion":"motion/branding.json"},
25
+ {"id":"dark-glass","kind":"skin","group":"tech-future","name_cn":"暗色玻璃","oneliner":"石墨冰蓝 · 产品评审","scenarios":["产品评审","技术方案","路线图","内部汇报"],"mode":"dark","sample":"styles/_samples/dark-glass.webp","motion":"motion/dark-glass.json"},
26
+ {"id":"grid-tech","kind":"skin","group":"tech-future","name_cn":"硬核网格","oneliner":"近黑荧绿 · 工程评审","scenarios":["工程","基础设施","数据平台","技术大会"],"mode":"dark","sample":"styles/_samples/grid-tech.webp","motion":"motion/grid-tech.json"},
27
+ {"id":"pastel-saas","kind":"skin","group":"minimal","name_cn":"柔和粉彩","oneliner":"薰衣草白 · SaaS 提案","scenarios":["SaaS","产品提案","增长复盘","客户成功"],"mode":"light","sample":"styles/_samples/pastel-saas.webp","motion":"motion/pastel-saas.json"},
28
+ {"id":"memphis","kind":"skin","group":"creative","name_cn":"几何孟菲斯","oneliner":"米白撞色 · 创意提案","scenarios":["创意提案","品牌活动","校园分享","工作坊"],"mode":"light","sample":"styles/_samples/memphis.webp","motion":"motion/memphis.json"},
29
+ {"id":"retro-press","kind":"skin","group":"editorial","name_cn":"复古印刷","oneliner":"旧纸砖红 · 文化叙事","scenarios":["文化","书业","展览","品牌故事"],"mode":"light","sample":"styles/_samples/retro-press.webp","motion":"motion/retro-press.json"},
30
+ {"id":"bold-clash","kind":"skin","group":"creative","name_cn":"大胆撞色","oneliner":"亮黄墨黑 · 发布造势","scenarios":["发布造势","营销campaign","潮牌","音乐节"],"mode":"light","sample":"styles/_samples/bold-clash.webp","motion":"motion/bold-clash.json"},
31
+ {"id":"organic-earth","kind":"skin","group":"natural","name_cn":"自然有机","oneliner":"苔绿陶土 · 可持续","scenarios":["可持续","农业食品","户外","ESG 报告"],"mode":"light","sample":"styles/_samples/organic-earth.webp","motion":"motion/organic-earth.json"},
32
+ {"id":"press-room","kind":"pack","group":"editorial","name_cn":"报刊头版","oneliner":"报纸墨黑 · 发布头版","scenarios":["发布会","媒体沟通","行业观察","年度特刊"],"mode":"light","sample":"styles/_samples/press-room.webp","motion":"motion/press-room.json"},
33
+ {"id":"board-brief","kind":"pack","group":"biz-premium","name_cn":"董事会简报","oneliner":"冷灰藏青 · 董事会","scenarios":["董事会","季度经营","投委会","内部治理"],"mode":"light","sample":"styles/_samples/board-brief.webp","motion":"motion/board-brief.json"},
34
+ {"id":"campus-teal","kind":"skin","group":"creative","name_cn":"课堂青","oneliner":"浅青板书 · 教学课件","scenarios":["教学","课件","培训","校园"],"mode":"light","sample":"styles/_samples/campus-teal.webp","motion":"motion/campus-teal.json"},
35
+ {"id":"clinic-care","kind":"skin","group":"minimal","name_cn":"诊疗蓝","oneliner":"洁净浅蓝 · 医疗健康","scenarios":["医疗","健康科普","器械","公共卫生"],"mode":"light","sample":"styles/_samples/clinic-care.webp","motion":"motion/clinic-care.json"},
36
+ {"id":"wedding-blush","kind":"skin","group":"creative","name_cn":"婚礼胭脂","oneliner":"胭脂米白 · 婚礼请柬","scenarios":["婚礼","请柬","纪念册","私人典礼"],"mode":"light","sample":"styles/_samples/wedding-blush.webp","motion":"motion/wedding-blush.json"},
37
+ {"id":"portfolio-noir","kind":"skin","group":"minimal","name_cn":"炭黑作品集","oneliner":"炭黑铜金 · 作品集","scenarios":["作品集","个人品牌","摄影","设计评审"],"mode":"dark","sample":"styles/_samples/portfolio-noir.webp","motion":"motion/portfolio-noir.json"},
38
+ {"id":"bistro-warm","kind":"skin","group":"natural","name_cn":"餐酒暖木","oneliner":"奶油辣椒红 · 餐饮门店","scenarios":["餐饮","门店","食品品牌","菜单发布"],"mode":"light","sample":"styles/_samples/bistro-warm.webp","motion":"motion/bistro-warm.json"},
39
+ {"id":"gov-brief","kind":"skin","group":"biz-premium","name_cn":"政务简报","oneliner":"素白藏蓝 · 政务汇报","scenarios":["政务","公共事务","工作汇报","会议材料"],"mode":"light","sample":"styles/_samples/gov-brief.webp","motion":"motion/gov-brief.json"},
40
+ {"id":"sport-arena","kind":"skin","group":"creative","name_cn":"赛场竞技","oneliner":"夜场亮橙 · 赛事发布","scenarios":["赛事","体育","战报","俱乐部"],"mode":"dark","sample":"styles/_samples/sport-arena.webp","motion":"motion/sport-arena.json"},
41
+ {"id":"legal-slate","kind":"skin","group":"biz-premium","name_cn":"法务石板","oneliner":"石板墨绿 · 法务合规","scenarios":["法务","合规","尽调","风险评估"],"mode":"light","sample":"styles/_samples/legal-slate.webp","motion":"motion/legal-slate.json"}
24
42
  ]
25
43
  }
@@ -125,6 +125,7 @@ Each slide carries `data-layout="<id>"` (drives the diversity lint + traceabilit
125
125
  | `dos-donts` | content | do ✓ / don't ✗ two-column | medium (4+4) | text-only | Do & Don't(推荐/避免双栏) |
126
126
  | `brand-values` | content | value cards (rows) | medium (2–4) | text-only | 品牌主张(编号圆+准则×3) |
127
127
  | `team-row` | content | portrait slots + name/role (rows) | medium (3–5) | **photo slots** | 团队成员(一排 3–5 人像 + 姓名/职位) |
128
+ | `quote-aside` | content | oversized quote glyph left + text block right (asymmetric) | light (1 quote) | text-only | 金句页,但版面要有方向感:引号当锚点、引文靠右挂,署名右对齐收尾。`quote` 是居中对称的另一种读法 |
128
129
 
129
130
  ## Semantic class contract (what a skin must define)
130
131
 
@@ -1,4 +1,4 @@
1
1
  <!-- layouts/big-stat — structure-only (paint via styles/<skin>/skin.css). data-layout drives P1/P2/P3 + dedup. -->
2
2
  <section class="slide" data-layout="big-stat" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div><div class="eyebrow-row" style="position:absolute;left:calc(96px * var(--space-scale,1));top:132px;display:flex;align-items:center;gap:14px"><span class="accent-bar" style="width:30px;height:1px;display:inline-block"></span><span class="eyebrow" style="font-size:calc(13px * var(--type-scale,1));letter-spacing:.28em">{{eyebrow|KEY METRIC}}</span></div><h2 class="deck-title" style="position:absolute;left:calc(92px * var(--space-scale,1));top:158px;font-size:calc(48px * var(--type-scale,1));letter-spacing:-.4px">{{title|}}</h2>
3
- <div class="stat-num" style="position:absolute;left:90px;top:196px;font-weight:800;line-height:1;font-size:calc(216px * var(--type-scale,1));letter-spacing:-2px">{{stat|585}}<span class="stat-unit" style="font-size:calc(64px * var(--type-scale,1))">{{unit| 单位}}</span></div><div class="stat-lead" style="position:absolute;left:100px;top:492px;font-size:calc(30px * var(--type-scale,1));font-weight:600">{{lead|一句结论,数字说明了什么}}</div><p class="stat-note" style="position:absolute;left:100px;top:556px;width:900px;font-size:calc(17px * var(--type-scale,1));line-height:1.6">{{note|一句支撑说明,给上下文与来源。}}</p>
3
+ <div class="stat-num" style="position:absolute;left:90px;top:250px;font-weight:800;line-height:1;font-size:calc(216px * var(--type-scale,1));letter-spacing:-2px">{{stat|585}}<span class="stat-unit" style="font-size:calc(64px * var(--type-scale,1))">{{unit| 单位}}</span></div><div class="stat-lead" style="position:absolute;left:100px;top:520px;font-size:calc(30px * var(--type-scale,1));font-weight:600">{{lead|一句结论,数字说明了什么}}</div><p class="stat-note" style="position:absolute;left:100px;top:580px;width:900px;font-size:calc(17px * var(--type-scale,1));line-height:1.6">{{note|一句支撑说明,给上下文与来源。}}</p>
4
4
  <div class="rule rule-foot" style="position:absolute;left:calc(96px * var(--space-scale,1));right:calc(96px * var(--space-scale,1));bottom:40px;height:1px"></div><div class="deck-footer" style="position:absolute;left:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 章节}}</div><div class="deck-pageno" style="position:absolute;right:calc(96px * var(--space-scale,1));bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|01}}</div></section>
@@ -0,0 +1,11 @@
1
+ <!-- packs/press-room/layouts/quote-aside — 包内**新**版式(不遮蔽任何共享 id)。
2
+ 引文栏:左侧超大引号作版面锚点,引文左对齐挂在它右边,署名右对齐收尾 —— 共享
3
+ quote 是居中对称的,这是另一种结构而不是同一种换色,因此走反向通道进共享库。 -->
4
+ <section class="slide" data-layout="quote-aside" style="position:relative;width:1280px;height:720px;overflow:hidden"><div class="slide-backdrop"></div>
5
+ <div class="section-ghost" style="position:absolute;left:88px;top:150px;font-weight:700;line-height:.8;font-size:calc(260px * var(--type-scale,1))">&ldquo;</div>
6
+ <h2 class="ending-title" style="position:absolute;left:300px;right:120px;top:236px;font-size:calc(50px * var(--type-scale,1));line-height:1.34">{{quote|一句有力的判断或金句,<br>点出这一页的核心观点。}}</h2>
7
+ <div class="rule" style="position:absolute;left:300px;right:120px;top:472px;height:1px"></div>
8
+ <div class="ending-sub" style="position:absolute;left:300px;right:120px;top:494px;text-align:right;font-size:calc(17px * var(--type-scale,1));letter-spacing:.1em">{{source|—— 来源 / 作者}}</div>
9
+ <div class="rule rule-foot" style="position:absolute;left:96px;right:96px;bottom:40px;height:1px"></div>
10
+ <div class="deck-footer" style="position:absolute;left:96px;bottom:17px;font-size:calc(12px * var(--type-scale,1));letter-spacing:.1em">{{footer|报告标题 / 栏目}}</div>
11
+ <div class="deck-pageno" style="position:absolute;right:96px;bottom:17px;font-size:calc(12px * var(--type-scale,1))">{{pageno|03}}</div></section>
@@ -1 +1 @@
1
- {"banner-columns":{"slots":["banner","col1_title","b1","b2","col2_title","b3","b4","col3_title","b5"],"chart":false},"bento":{"slots":["eyebrow","title","big_title","big_num","big_unit","big_body","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","card4_title","card4_body","footer","pageno"],"chart":false},"big-stat":{"slots":["eyebrow","title","stat","unit","lead","note","footer","pageno"],"chart":false},"blocks-2x2":{"slots":["eyebrow","title","intro","block1_title","block1_body","block2_title","block2_body","block3_title","block3_body","block4_title","block4_body","quote","quote_attr","refs","footer","pageno"],"chart":false},"brand-values":{"slots":["eyebrow","title","footer","pageno"],"rows":{"values":["name","body"]},"chart":false},"cards-3":{"slots":["eyebrow","title","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","footer","pageno"],"chart":false},"cards-grid":{"slots":["eyebrow","title","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","card4_title","card4_body","card5_title","card5_body","card6_title","card6_body","footer","pageno"],"chart":false},"chart-full":{"slots":["eyebrow","title","lead","source","footer","pageno"],"chart":true},"chart-kpi":{"slots":["eyebrow","title","kpi1_num","kpi1_unit","kpi1_label","kpi2_num","kpi2_unit","kpi2_label","footer","pageno"],"chart":true},"color-palette":{"slots":["eyebrow","title","footer","pageno"],"rows":{"swatches":["name","hex"]},"chart":false},"comparison":{"slots":["eyebrow","title","colA_title","dim1","colA_v1","dim2","colA_v2","dim3","colA_v3","badge","colB_title","colB_v1","colB_v2","colB_v3","colC_title","colC_v1","colC_v2","colC_v3","footer","pageno"],"chart":false},"concept-hub":{"slots":["eyebrow","title","center_title","center_body","node1_title","node1_body","node2_title","node2_body","node3_title","node3_body","node4_title","node4_body","footer","pageno"],"chart":false},"cover-centered":{"slots":["eyebrow","title","subtitle","meta"],"chart":false},"cover-image":{"slots":["image_label","eyebrow","title","subtitle"],"chart":false},"cover-minimal":{"slots":["title","subtitle","meta"],"chart":false},"cover-statement":{"slots":["eyebrow","statement","meta"],"chart":false},"cover":{"slots":["eyebrow","title","subtitle","presenter","date"],"chart":false},"data-table":{"slots":["eyebrow","title","col0","col1","col2","col3","r1_key","r1c1","r1c2","r1c3","r2_key","r2c1","r2c2","r2c3","r3_key","r3c1","r3c2","r3c3","r4_key","r4c1","r4c2","r4c3","footer","pageno"],"chart":false},"dos-donts":{"slots":["eyebrow","do_head","do1","do2","do3","do4","dont_head","dont1","dont2","dont3","dont4","footer","pageno"],"chart":false},"editorial-panel":{"slots":["eyebrow","title","lead1","lead2","quote","quote_attr","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","card4_title","card4_body","list_title","list1","list2","list3","list4","note"],"chart":false},"ending-contact":{"slots":["eyebrow","title","email","phone","web","addr"],"chart":false},"ending":{"slots":["eyebrow","title","sub","contact"],"chart":false},"funnel":{"slots":["eyebrow","title","s1_label","s1_val","s2_label","s2_val","s3_label","s3_val","s4_label","s4_val","rate_label","rate","footer","pageno"],"chart":false},"gantt":{"slots":["eyebrow","title","footer","pageno"],"rows":{"cols":["label"],"tasks":["name","from","to"]},"chart":false},"hero":{"slots":["eyebrow","title","sub"],"chart":false},"icon-row":{"slots":["eyebrow","title","item1_title","item1_body","item2_title","item2_body","item3_title","item3_body","item4_title","item4_body","footer","pageno"],"chart":false},"image-full":{"slots":["image_label","eyebrow","title","caption","pageno"],"chart":false},"image-grid":{"slots":["eyebrow","title","img1_label","img1_title","img1_body","img2_label","img2_title","img2_body","img3_label","img3_title","img3_body","footer","pageno"],"chart":false},"image-left":{"slots":["eyebrow","title","image_label","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","footer","pageno"],"chart":false},"list":{"slots":["eyebrow","title","item1_title","item1_desc","item2_title","item2_desc","item3_title","item3_desc","item4_title","item4_desc","footer","pageno"],"chart":false},"logo-guidelines":{"slots":["eyebrow","title","wordmark","tagline","v1_label","v2_label","v3_label","footer","pageno"],"chart":false},"map-distribution":{"slots":["eyebrow","title","footer","pageno"],"rows":{"pins":["x","y"],"regions":["name","pct"]},"chart":false},"map-quad":{"slots":["title","q1_num","q1_unit","q1_label","q1_note","q2_num","q2_unit","q2_label","q2_note","q3_num","q3_unit","q3_label","q3_note","q4_num","q4_unit","q4_label","q4_note","footer","pageno"],"chart":false},"matrix-2x2":{"slots":["eyebrow","title","q1_title","q1_body","q2_title","q2_body","q3_title","q3_body","q4_title","q4_body","footer","pageno"],"chart":false},"numbered-brief":{"slots":["title","para1","para2","quote","source","right_title","item1_title","item2_title","item3_title","item4_title","source_label","source_note","pageno"],"chart":false},"org-tree":{"slots":["eyebrow","title","top","dept1_title","dept1_body","dept2_title","dept2_body","dept3_title","dept3_body","footer","pageno"],"chart":false},"problem-solution-banner":{"slots":["problem_label","problem_body","image_label","solution_body","solution_label"],"chart":false},"problem-solution":{"slots":["eyebrow","title","problem_title","problem_1","problem_2","problem_3","solution_title","solution_1","solution_2","solution_3","footer","pageno"],"chart":false},"pyramid":{"slots":["eyebrow","title","level1","level2","level3","level4","footer","pageno"],"chart":false},"quote":{"slots":["eyebrow","quote","source","footer","pageno"],"chart":false},"radar":{"slots":["eyebrow","title","footer","pageno"],"rows":{"metrics":["name","score"]},"chart":"derived"},"ring-progress":{"slots":["eyebrow","title","footer","pageno"],"rows":{"rings":["label","pct","note"]},"chart":false},"section-fullbleed":{"slots":["image_label","desc","index","title"],"chart":false},"section-image":{"slots":["index","eyebrow","title","desc","image_label","footer","pageno"],"chart":false},"section-stat":{"slots":["eyebrow","title","desc","stat","unit","stat_label","footer","pageno"],"chart":false},"section":{"slots":["index","eyebrow","title","desc","footer","pageno"],"chart":false},"split-two-col":{"slots":["eyebrow","title","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","image_label","footer","pageno"],"chart":false},"stats-chart":{"slots":["brand1","brand2","brand3","title","note"],"chart":true},"steps-serpentine":{"slots":["eyebrow","title","step1_title","step1_body","step2_title","step2_body","step3_title","step3_body","step4_title","step4_body","step5_title","step5_body","step6_title","step6_body","step7_title","step7_body","step8_title","step8_body"],"chart":false},"steps-vertical":{"slots":["eyebrow","title","footer","pageno"],"rows":{"steps":["name","body"]},"chart":false},"steps":{"slots":["eyebrow","title","step1_title","step1_body","step2_title","step2_body","step3_title","step3_body","step4_title","step4_body","footer","pageno"],"chart":false},"team-row":{"slots":["eyebrow","title","footer","pageno"],"rows":{"members":["name","role"]},"chart":false},"three-kpi":{"slots":["eyebrow","title","kpi1_num","kpi1_unit","kpi1_name","kpi1_desc","kpi2_num","kpi2_unit","kpi2_name","kpi2_desc","kpi3_num","kpi3_unit","kpi3_name","kpi3_desc","footer","pageno"],"chart":false},"timeline":{"slots":["eyebrow","title","item1_date","item1_title","item1_desc","item2_date","item2_title","item2_desc","item3_date","item3_title","item3_desc","item4_date","item4_title","item4_desc","footer","pageno"],"chart":false},"title-meta":{"slots":["index","eyebrow","title","subtitle","meta"],"chart":false},"title":{"slots":["eyebrow","title"],"chart":false},"toc-agenda":{"slots":["eyebrow","title","item1_title","item1_dur","item2_title","item2_dur","item3_title","item3_dur","item4_title","item4_dur","item5_title","item5_dur","footer","pageno"],"chart":false},"toc-panel":{"slots":["brand1","brand2","brand3","title"],"rows":{"entries":["name","desc"]},"chart":false},"toc-editorial":{"slots":["title","desc","item1_title","item1_desc","item2_title","item2_desc","item3_title","item3_desc","item4_title","item4_desc","footer","pageno"],"chart":false},"toc":{"slots":["eyebrow","title","item1_title","item1_desc","item2_title","item2_desc","item3_title","item3_desc","item4_title","item4_desc","footer","pageno"],"chart":false},"transition":{"slots":["eyebrow","number","title"],"chart":false},"two-kpi":{"slots":["eyebrow","title","kpi1_num","kpi1_unit","kpi1_label","kpi2_num","kpi2_unit","kpi2_label","footer","pageno"],"chart":false},"type-specimen":{"slots":["eyebrow","title","specimen","font_name","weights","heading_label","heading_sample","body_label","body_sample","charset","footer","pageno"],"chart":false},"versus":{"slots":["eyebrow","title","before_title","before_num","before_body","after_title","after_num","after_body","footer","pageno"],"chart":false}}
1
+ {"banner-columns":{"slots":["banner","col1_title","b1","b2","col2_title","b3","b4","col3_title","b5"],"chart":false},"bento":{"slots":["eyebrow","title","big_title","big_num","big_unit","big_body","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","card4_title","card4_body","footer","pageno"],"chart":false},"big-stat":{"slots":["eyebrow","title","stat","unit","lead","note","footer","pageno"],"chart":false},"blocks-2x2":{"slots":["eyebrow","title","intro","block1_title","block1_body","block2_title","block2_body","block3_title","block3_body","block4_title","block4_body","quote","quote_attr","refs","footer","pageno"],"chart":false},"brand-values":{"slots":["eyebrow","title","footer","pageno"],"rows":{"values":["name","body"]},"chart":false},"cards-3":{"slots":["eyebrow","title","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","footer","pageno"],"chart":false},"cards-grid":{"slots":["eyebrow","title","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","card4_title","card4_body","card5_title","card5_body","card6_title","card6_body","footer","pageno"],"chart":false},"chart-full":{"slots":["eyebrow","title","lead","source","footer","pageno"],"chart":true},"chart-kpi":{"slots":["eyebrow","title","kpi1_num","kpi1_unit","kpi1_label","kpi2_num","kpi2_unit","kpi2_label","footer","pageno"],"chart":true},"color-palette":{"slots":["eyebrow","title","footer","pageno"],"rows":{"swatches":["name","hex"]},"chart":false},"comparison":{"slots":["eyebrow","title","colA_title","dim1","colA_v1","dim2","colA_v2","dim3","colA_v3","badge","colB_title","colB_v1","colB_v2","colB_v3","colC_title","colC_v1","colC_v2","colC_v3","footer","pageno"],"chart":false},"concept-hub":{"slots":["eyebrow","title","center_title","center_body","node1_title","node1_body","node2_title","node2_body","node3_title","node3_body","node4_title","node4_body","footer","pageno"],"chart":false},"cover-centered":{"slots":["eyebrow","title","subtitle","meta"],"chart":false},"cover-image":{"slots":["image_label","eyebrow","title","subtitle"],"chart":false},"cover-minimal":{"slots":["title","subtitle","meta"],"chart":false},"cover-statement":{"slots":["eyebrow","statement","meta"],"chart":false},"cover":{"slots":["eyebrow","title","subtitle","presenter","date"],"chart":false},"data-table":{"slots":["eyebrow","title","col0","col1","col2","col3","r1_key","r1c1","r1c2","r1c3","r2_key","r2c1","r2c2","r2c3","r3_key","r3c1","r3c2","r3c3","r4_key","r4c1","r4c2","r4c3","footer","pageno"],"chart":false},"dos-donts":{"slots":["eyebrow","do_head","do1","do2","do3","do4","dont_head","dont1","dont2","dont3","dont4","footer","pageno"],"chart":false},"editorial-panel":{"slots":["eyebrow","title","lead1","lead2","quote","quote_attr","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","card4_title","card4_body","list_title","list1","list2","list3","list4","note"],"chart":false},"ending-contact":{"slots":["eyebrow","title","email","phone","web","addr"],"chart":false},"ending":{"slots":["eyebrow","title","sub","contact"],"chart":false},"funnel":{"slots":["eyebrow","title","s1_label","s1_val","s2_label","s2_val","s3_label","s3_val","s4_label","s4_val","rate_label","rate","footer","pageno"],"chart":false},"gantt":{"slots":["eyebrow","title","footer","pageno"],"rows":{"cols":["label"],"tasks":["name","from","to"]},"chart":false},"hero":{"slots":["eyebrow","title","sub"],"chart":false},"icon-row":{"slots":["eyebrow","title","item1_title","item1_body","item2_title","item2_body","item3_title","item3_body","item4_title","item4_body","footer","pageno"],"chart":false},"image-full":{"slots":["image_label","eyebrow","title","caption","pageno"],"chart":false},"image-grid":{"slots":["eyebrow","title","img1_label","img1_title","img1_body","img2_label","img2_title","img2_body","img3_label","img3_title","img3_body","footer","pageno"],"chart":false},"image-left":{"slots":["eyebrow","title","image_label","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","footer","pageno"],"chart":false},"list":{"slots":["eyebrow","title","item1_title","item1_desc","item2_title","item2_desc","item3_title","item3_desc","item4_title","item4_desc","footer","pageno"],"chart":false},"logo-guidelines":{"slots":["eyebrow","title","wordmark","tagline","v1_label","v2_label","v3_label","footer","pageno"],"chart":false},"map-distribution":{"slots":["eyebrow","title","footer","pageno"],"rows":{"pins":["x","y"],"regions":["name","pct"]},"chart":false},"map-quad":{"slots":["title","q1_num","q1_unit","q1_label","q1_note","q2_num","q2_unit","q2_label","q2_note","q3_num","q3_unit","q3_label","q3_note","q4_num","q4_unit","q4_label","q4_note","footer","pageno"],"chart":false},"matrix-2x2":{"slots":["eyebrow","title","q1_title","q1_body","q2_title","q2_body","q3_title","q3_body","q4_title","q4_body","footer","pageno"],"chart":false},"numbered-brief":{"slots":["title","para1","para2","quote","source","right_title","item1_title","item2_title","item3_title","item4_title","source_label","source_note","pageno"],"chart":false},"org-tree":{"slots":["eyebrow","title","top","dept1_title","dept1_body","dept2_title","dept2_body","dept3_title","dept3_body","footer","pageno"],"chart":false},"problem-solution-banner":{"slots":["problem_label","problem_body","image_label","solution_body","solution_label"],"chart":false},"problem-solution":{"slots":["eyebrow","title","problem_title","problem_1","problem_2","problem_3","solution_title","solution_1","solution_2","solution_3","footer","pageno"],"chart":false},"pyramid":{"slots":["eyebrow","title","level1","level2","level3","level4","footer","pageno"],"chart":false},"quote-aside":{"slots":["quote","source","footer","pageno"],"chart":false},"quote":{"slots":["eyebrow","quote","source","footer","pageno"],"chart":false},"radar":{"slots":["eyebrow","title","footer","pageno"],"rows":{"metrics":["name","score"]},"chart":"derived"},"ring-progress":{"slots":["eyebrow","title","footer","pageno"],"rows":{"rings":["label","pct","note"]},"chart":false},"section-fullbleed":{"slots":["image_label","desc","index","title"],"chart":false},"section-image":{"slots":["index","eyebrow","title","desc","image_label","footer","pageno"],"chart":false},"section-stat":{"slots":["eyebrow","title","desc","stat","unit","stat_label","footer","pageno"],"chart":false},"section":{"slots":["index","eyebrow","title","desc","footer","pageno"],"chart":false},"split-two-col":{"slots":["eyebrow","title","card1_title","card1_body","card2_title","card2_body","card3_title","card3_body","image_label","footer","pageno"],"chart":false},"stats-chart":{"slots":["brand1","brand2","brand3","title","note"],"chart":true},"steps-serpentine":{"slots":["eyebrow","title","step1_title","step1_body","step2_title","step2_body","step3_title","step3_body","step4_title","step4_body","step5_title","step5_body","step6_title","step6_body","step7_title","step7_body","step8_title","step8_body"],"chart":false},"steps-vertical":{"slots":["eyebrow","title","footer","pageno"],"rows":{"steps":["name","body"]},"chart":false},"steps":{"slots":["eyebrow","title","step1_title","step1_body","step2_title","step2_body","step3_title","step3_body","step4_title","step4_body","footer","pageno"],"chart":false},"team-row":{"slots":["eyebrow","title","footer","pageno"],"rows":{"members":["name","role"]},"chart":false},"three-kpi":{"slots":["eyebrow","title","kpi1_num","kpi1_unit","kpi1_name","kpi1_desc","kpi2_num","kpi2_unit","kpi2_name","kpi2_desc","kpi3_num","kpi3_unit","kpi3_name","kpi3_desc","footer","pageno"],"chart":false},"timeline":{"slots":["eyebrow","title","item1_date","item1_title","item1_desc","item2_date","item2_title","item2_desc","item3_date","item3_title","item3_desc","item4_date","item4_title","item4_desc","footer","pageno"],"chart":false},"title-meta":{"slots":["index","eyebrow","title","subtitle","meta"],"chart":false},"title":{"slots":["eyebrow","title"],"chart":false},"toc-agenda":{"slots":["eyebrow","title","item1_title","item1_dur","item2_title","item2_dur","item3_title","item3_dur","item4_title","item4_dur","item5_title","item5_dur","footer","pageno"],"chart":false},"toc-editorial":{"slots":["item1_title","item1_desc","item2_title","item2_desc","item3_title","item3_desc","item4_title","item4_desc","title","desc","footer","pageno"],"chart":false},"toc-panel":{"slots":["brand1","brand2","brand3","title"],"rows":{"entries":["name","desc"]},"chart":false},"toc":{"slots":["eyebrow","title","item1_title","item1_desc","item2_title","item2_desc","item3_title","item3_desc","item4_title","item4_desc","footer","pageno"],"chart":false},"transition":{"slots":["eyebrow","number","title"],"chart":false},"two-kpi":{"slots":["eyebrow","title","kpi1_num","kpi1_unit","kpi1_label","kpi2_num","kpi2_unit","kpi2_label","footer","pageno"],"chart":false},"type-specimen":{"slots":["eyebrow","title","specimen","font_name","weights","heading_label","heading_sample","body_label","body_sample","charset","footer","pageno"],"chart":false},"versus":{"slots":["eyebrow","title","before_title","before_num","before_body","after_title","after_num","after_body","footer","pageno"],"chart":false}}
@@ -5,7 +5,25 @@
5
5
  同名属性优先,不被覆盖。
6
6
 
7
7
  **motion 是可选的** —— 没有预设文件的族不注入任何动画,与 `data-anim` 默认全关一致。
8
- 现有 13 个 skin 在 P0 不配 motion(保证行为零变化),P2 补齐。
8
+ 23 个 entry 现在都配了(P0 有意留空以保证行为零变化,P2 补齐)。
9
9
 
10
10
  效果集必须与 `packages/core/src/document/pptx-anim.ts` 一致:
11
11
  fade · fade-up · float · appear · fly-up · fly-down · fly-left · fly-right
12
+ 切换效果与 `pptx-transition.ts` 一致:cut · fade · dissolve · wedge · wipe · push ·
13
+ cover · zoom · split · morph。
14
+
15
+ ## 两个来源,同一份 schema
16
+
17
+ - **生成族**(有 `ppt-tpl/families/<id>/family.json` 的):`motion` 段写在 DNA 里,
18
+ `node scripts/ppt-tpl/gen-motion.mjs <id>` 产出本目录的文件。改要改 DNA。
19
+ - **13 个手写皮肤**:没有 DNA,本目录的文件就是真源,手写。
20
+
21
+ 两者都过同一套校验(`packages/core/src/fs/deck-motion.ts`)与同一道闸门。
22
+
23
+ ## 烤字的族不能给标题派入场
24
+
25
+ 把标题烤进背景图的族(`--talos-bake:1`),那些字到 pptx 里是扁平像素,挂在其上的
26
+ `data-anim` 会被**静默丢弃**。`deck-layouts.test.ts` 的闸门 6 硬管这条:黑金/橄榄金/
27
+ 奶油青铜/奶油珊瑚/纸感手绘/黑白胶片/暖米绿意这 7 个族的预设因此只派给 `.cover-sub`
28
+ `.card` `.stat-lead` 这类仍是文字的元素。落地当天它真的响过两次(`organic-earth` 与
29
+ 一次针对本目录预设的变异验证)。
@@ -0,0 +1,29 @@
1
+ {
2
+ "transition": {
3
+ "effect": "fade",
4
+ "durMs": 420
5
+ },
6
+ "entrance": {
7
+ "cover": [
8
+ {
9
+ "sel": ".cover-sub",
10
+ "anim": "fade-up",
11
+ "delay": 200
12
+ }
13
+ ],
14
+ "cards": [
15
+ {
16
+ "sel": ".card",
17
+ "anim": "fade-up",
18
+ "stagger": 110
19
+ }
20
+ ],
21
+ "stat": [
22
+ {
23
+ "sel": ".stat-lead",
24
+ "anim": "fade",
25
+ "delay": 180
26
+ }
27
+ ]
28
+ }
29
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "transition": {
3
+ "effect": "fade",
4
+ "durMs": 600
5
+ },
6
+ "entrance": {
7
+ "cover": [
8
+ {
9
+ "sel": ".cover-title",
10
+ "anim": "fade-up",
11
+ "dur": 900
12
+ },
13
+ {
14
+ "sel": ".cover-sub",
15
+ "anim": "fade-up",
16
+ "delay": 260
17
+ }
18
+ ],
19
+ "section": [
20
+ {
21
+ "sel": ".section-title",
22
+ "anim": "fade-up",
23
+ "delay": 180
24
+ }
25
+ ],
26
+ "cards": [
27
+ {
28
+ "sel": ".card",
29
+ "anim": "fade-up",
30
+ "stagger": 180
31
+ }
32
+ ],
33
+ "stat": [
34
+ {
35
+ "sel": ".stat-num",
36
+ "anim": "fade-up",
37
+ "delay": 300
38
+ }
39
+ ]
40
+ }
41
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "transition": {
3
+ "effect": "push",
4
+ "dir": "l",
5
+ "durMs": 360
6
+ },
7
+ "entrance": {
8
+ "cover": [
9
+ {
10
+ "sel": ".cover-sub",
11
+ "anim": "fade-up",
12
+ "delay": 220
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "transition": {
3
+ "effect": "fade",
4
+ "durMs": 520
5
+ },
6
+ "entrance": {
7
+ "cover": [
8
+ {
9
+ "sel": ".cover-sub",
10
+ "anim": "fade",
11
+ "delay": 240
12
+ }
13
+ ],
14
+ "cards": [
15
+ {
16
+ "sel": ".card",
17
+ "anim": "fade",
18
+ "stagger": 120
19
+ }
20
+ ],
21
+ "stat": [
22
+ {
23
+ "sel": ".stat-lead",
24
+ "anim": "fade",
25
+ "delay": 200
26
+ }
27
+ ]
28
+ }
29
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "transition": {
3
+ "effect": "cut"
4
+ },
5
+ "entrance": {
6
+ "cards": [
7
+ {
8
+ "sel": ".card",
9
+ "anim": "appear",
10
+ "stagger": 80
11
+ }
12
+ ]
13
+ }
14
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "transition": {
3
+ "effect": "cover",
4
+ "dir": "l",
5
+ "durMs": 300
6
+ },
7
+ "entrance": {
8
+ "cards": [
9
+ {
10
+ "sel": ".card",
11
+ "anim": "fly-right",
12
+ "stagger": 100
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "transition": {
3
+ "effect": "dissolve",
4
+ "durMs": 500
5
+ },
6
+ "entrance": {
7
+ "cover": [
8
+ {
9
+ "sel": ".cover-sub",
10
+ "anim": "fade-up",
11
+ "delay": 240
12
+ }
13
+ ],
14
+ "cards": [
15
+ {
16
+ "sel": ".card",
17
+ "anim": "fade-up",
18
+ "stagger": 130
19
+ }
20
+ ]
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "transition": {
3
+ "effect": "fade",
4
+ "durMs": 400
5
+ },
6
+ "entrance": {
7
+ "cover": [
8
+ {
9
+ "sel": ".cover-title",
10
+ "anim": "fade-up",
11
+ "dur": 620
12
+ }
13
+ ],
14
+ "cards": [
15
+ {
16
+ "sel": ".card",
17
+ "anim": "fade-up",
18
+ "stagger": 120
19
+ }
20
+ ]
21
+ }
22
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "transition": {
3
+ "effect": "wipe",
4
+ "dir": "l",
5
+ "durMs": 300
6
+ },
7
+ "entrance": {
8
+ "cover": [
9
+ {
10
+ "sel": ".cover-sub",
11
+ "anim": "fade",
12
+ "delay": 220
13
+ }
14
+ ],
15
+ "cards": [
16
+ {
17
+ "sel": ".card",
18
+ "anim": "fly-left",
19
+ "stagger": 120
20
+ }
21
+ ]
22
+ }
23
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "transition": {
3
+ "effect": "fade",
4
+ "durMs": 380
5
+ },
6
+ "entrance": {
7
+ "cover": [
8
+ {
9
+ "sel": ".cover-title",
10
+ "anim": "fade",
11
+ "dur": 520
12
+ }
13
+ ],
14
+ "cards": [
15
+ {
16
+ "sel": ".card",
17
+ "anim": "fade",
18
+ "stagger": 100
19
+ }
20
+ ]
21
+ }
22
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "transition": {
3
+ "effect": "zoom",
4
+ "durMs": 360
5
+ },
6
+ "entrance": {
7
+ "cover": [
8
+ {
9
+ "sel": ".cover-title",
10
+ "anim": "fade-up",
11
+ "dur": 700
12
+ },
13
+ {
14
+ "sel": ".cover-sub",
15
+ "anim": "fade-up",
16
+ "delay": 160
17
+ }
18
+ ],
19
+ "section": [
20
+ {
21
+ "sel": ".section-title",
22
+ "anim": "fade-up",
23
+ "delay": 120
24
+ }
25
+ ],
26
+ "cards": [
27
+ {
28
+ "sel": ".card",
29
+ "anim": "fade-up",
30
+ "stagger": 120
31
+ }
32
+ ],
33
+ "stat": [
34
+ {
35
+ "sel": ".stat-num",
36
+ "anim": "appear",
37
+ "delay": 200
38
+ }
39
+ ]
40
+ }
41
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "transition": {
3
+ "effect": "fade",
4
+ "durMs": 320
5
+ },
6
+ "entrance": {
7
+ "cover": [
8
+ {
9
+ "sel": ".cover-title",
10
+ "anim": "fade",
11
+ "dur": 600
12
+ }
13
+ ],
14
+ "cards": [
15
+ {
16
+ "sel": ".card",
17
+ "anim": "fade",
18
+ "stagger": 120
19
+ }
20
+ ]
21
+ }
22
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "transition": {
3
+ "effect": "cut"
4
+ },
5
+ "entrance": {
6
+ "cards": [
7
+ {
8
+ "sel": ".card",
9
+ "anim": "appear",
10
+ "stagger": 80
11
+ }
12
+ ]
13
+ }
14
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "transition": {
3
+ "effect": "wipe",
4
+ "dir": "l",
5
+ "durMs": 300
6
+ },
7
+ "entrance": {
8
+ "cards": [
9
+ {
10
+ "sel": ".card",
11
+ "anim": "fly-left",
12
+ "stagger": 110
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "transition": {
3
+ "effect": "push",
4
+ "dir": "u",
5
+ "durMs": 340
6
+ },
7
+ "entrance": {
8
+ "cover": [
9
+ {
10
+ "sel": ".cover-sub",
11
+ "anim": "float",
12
+ "delay": 180
13
+ }
14
+ ],
15
+ "cards": [
16
+ {
17
+ "sel": ".card",
18
+ "anim": "fly-up",
19
+ "stagger": 150
20
+ }
21
+ ]
22
+ }
23
+ }