codewave-openclaw-installer 1.0.2 → 2.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/README.md +95 -22
- package/bin/check.mjs +623 -0
- package/bin/install-lib.mjs +215 -0
- package/bin/install.mjs +818 -76
- package/index.js +21 -0
- package/openclaw.plugin.json +11 -0
- package/package.json +28 -5
- package/skills/acceptance-doc-entry/SKILL.md +289 -0
- package/skills/meeting-to-prd/SKILL.md +210 -0
- package/skills/meeting-to-prd/references/meeting-notes-template.md +50 -0
- package/skills/meeting-to-prd/references/prd-reference.docx +0 -0
- package/skills/meeting-to-prd/references/prd-template.md +67 -0
- package/skills/pmo-weekly-report/SKILL.md +536 -0
- package/skills/popo-doc/SKILL.md +77 -0
- package/skills/popo-robot-api/SKILL.md +232 -0
- package/skills/ppt-master/SKILL.md +314 -0
- package/skills/ppt-master/projects/.gitkeep +0 -0
- package/skills/ppt-master/references/canvas-formats.md +73 -0
- package/skills/ppt-master/references/executor-base.md +198 -0
- package/skills/ppt-master/references/executor-consultant-top.md +218 -0
- package/skills/ppt-master/references/executor-consultant.md +197 -0
- package/skills/ppt-master/references/executor-general.md +122 -0
- package/skills/ppt-master/references/image-generator.md +444 -0
- package/skills/ppt-master/references/image-layout-spec.md +174 -0
- package/skills/ppt-master/references/shared-standards.md +442 -0
- package/skills/ppt-master/references/strategist.md +391 -0
- package/skills/ppt-master/references/svg-image-embedding.md +177 -0
- package/skills/ppt-master/references/template-designer.md +175 -0
- package/skills/ppt-master/scripts/README.md +78 -0
- package/skills/ppt-master/scripts/analyze_images.py +239 -0
- package/skills/ppt-master/scripts/assets/bg_48.png +0 -0
- package/skills/ppt-master/scripts/assets/bg_96.png +0 -0
- package/skills/ppt-master/scripts/batch_validate.py +309 -0
- package/skills/ppt-master/scripts/config.py +604 -0
- package/skills/ppt-master/scripts/doc_to_md.py +232 -0
- package/skills/ppt-master/scripts/docs/conversion.md +89 -0
- package/skills/ppt-master/scripts/docs/image.md +96 -0
- package/skills/ppt-master/scripts/docs/project.md +84 -0
- package/skills/ppt-master/scripts/docs/svg-pipeline.md +161 -0
- package/skills/ppt-master/scripts/docs/troubleshooting.md +62 -0
- package/skills/ppt-master/scripts/error_helper.py +438 -0
- package/skills/ppt-master/scripts/finalize_svg.py +302 -0
- package/skills/ppt-master/scripts/gemini_watermark_remover.py +230 -0
- package/skills/ppt-master/scripts/generate_examples_index.py +241 -0
- package/skills/ppt-master/scripts/image_backends/__init__.py +1 -0
- package/skills/ppt-master/scripts/image_backends/backend_aigw_gemini.py +209 -0
- package/skills/ppt-master/scripts/image_backends/backend_bfl.py +177 -0
- package/skills/ppt-master/scripts/image_backends/backend_common.py +244 -0
- package/skills/ppt-master/scripts/image_backends/backend_fal.py +127 -0
- package/skills/ppt-master/scripts/image_backends/backend_gemini.py +227 -0
- package/skills/ppt-master/scripts/image_backends/backend_ideogram.py +152 -0
- package/skills/ppt-master/scripts/image_backends/backend_openai.py +233 -0
- package/skills/ppt-master/scripts/image_backends/backend_qwen.py +197 -0
- package/skills/ppt-master/scripts/image_backends/backend_replicate.py +173 -0
- package/skills/ppt-master/scripts/image_backends/backend_siliconflow.py +180 -0
- package/skills/ppt-master/scripts/image_backends/backend_stability.py +143 -0
- package/skills/ppt-master/scripts/image_backends/backend_volcengine.py +187 -0
- package/skills/ppt-master/scripts/image_backends/backend_zhipu.py +188 -0
- package/skills/ppt-master/scripts/image_gen.py +412 -0
- package/skills/ppt-master/scripts/pdf_to_md.py +794 -0
- package/skills/ppt-master/scripts/pptx_animations.py +268 -0
- package/skills/ppt-master/scripts/project_manager.py +661 -0
- package/skills/ppt-master/scripts/project_utils.py +475 -0
- package/skills/ppt-master/scripts/rotate_images.py +583 -0
- package/skills/ppt-master/scripts/svg_finalize/__init__.py +1 -0
- package/skills/ppt-master/scripts/svg_finalize/crop_images.py +343 -0
- package/skills/ppt-master/scripts/svg_finalize/embed_icons.py +250 -0
- package/skills/ppt-master/scripts/svg_finalize/embed_images.py +184 -0
- package/skills/ppt-master/scripts/svg_finalize/fix_image_aspect.py +380 -0
- package/skills/ppt-master/scripts/svg_finalize/flatten_tspan.py +493 -0
- package/skills/ppt-master/scripts/svg_finalize/svg_rect_to_path.py +337 -0
- package/skills/ppt-master/scripts/svg_position_calculator.py +1486 -0
- package/skills/ppt-master/scripts/svg_quality_checker.py +487 -0
- package/skills/ppt-master/scripts/svg_to_pptx/__init__.py +17 -0
- package/skills/ppt-master/scripts/svg_to_pptx/drawingml_context.py +102 -0
- package/skills/ppt-master/scripts/svg_to_pptx/drawingml_converter.py +269 -0
- package/skills/ppt-master/scripts/svg_to_pptx/drawingml_elements.py +848 -0
- package/skills/ppt-master/scripts/svg_to_pptx/drawingml_paths.py +429 -0
- package/skills/ppt-master/scripts/svg_to_pptx/drawingml_styles.py +359 -0
- package/skills/ppt-master/scripts/svg_to_pptx/drawingml_utils.py +310 -0
- package/skills/ppt-master/scripts/svg_to_pptx/pptx_builder.py +366 -0
- package/skills/ppt-master/scripts/svg_to_pptx/pptx_cli.py +196 -0
- package/skills/ppt-master/scripts/svg_to_pptx/pptx_dimensions.py +148 -0
- package/skills/ppt-master/scripts/svg_to_pptx/pptx_discovery.py +101 -0
- package/skills/ppt-master/scripts/svg_to_pptx/pptx_media.py +86 -0
- package/skills/ppt-master/scripts/svg_to_pptx/pptx_notes.py +157 -0
- package/skills/ppt-master/scripts/svg_to_pptx/pptx_slide_xml.py +136 -0
- package/skills/ppt-master/scripts/svg_to_pptx.py +17 -0
- package/skills/ppt-master/scripts/total_md_split.py +367 -0
- package/skills/ppt-master/scripts/web_to_md.cjs +850 -0
- package/skills/ppt-master/scripts/web_to_md.py +755 -0
- package/skills/ppt-master/templates/README.md +48 -0
- package/skills/ppt-master/templates/charts/README.md +102 -0
- package/skills/ppt-master/templates/charts/area_chart.svg +255 -0
- package/skills/ppt-master/templates/charts/bar_chart.svg +185 -0
- package/skills/ppt-master/templates/charts/box_plot_chart.svg +308 -0
- package/skills/ppt-master/templates/charts/bubble_chart.svg +289 -0
- package/skills/ppt-master/templates/charts/bullet_chart.svg +214 -0
- package/skills/ppt-master/templates/charts/butterfly_chart.svg +247 -0
- package/skills/ppt-master/templates/charts/charts_index.json +286 -0
- package/skills/ppt-master/templates/charts/donut_chart.svg +246 -0
- package/skills/ppt-master/templates/charts/dual_axis_line_chart.svg +311 -0
- package/skills/ppt-master/templates/charts/dumbbell_chart.svg +196 -0
- package/skills/ppt-master/templates/charts/funnel_chart.svg +241 -0
- package/skills/ppt-master/templates/charts/gantt_chart.svg +315 -0
- package/skills/ppt-master/templates/charts/gauge_chart.svg +262 -0
- package/skills/ppt-master/templates/charts/grouped_bar_chart.svg +275 -0
- package/skills/ppt-master/templates/charts/heatmap_chart.svg +214 -0
- package/skills/ppt-master/templates/charts/horizontal_bar_chart.svg +213 -0
- package/skills/ppt-master/templates/charts/kpi_cards.svg +215 -0
- package/skills/ppt-master/templates/charts/line_chart.svg +218 -0
- package/skills/ppt-master/templates/charts/matrix_2x2.svg +334 -0
- package/skills/ppt-master/templates/charts/org_chart.svg +316 -0
- package/skills/ppt-master/templates/charts/pareto_chart.svg +227 -0
- package/skills/ppt-master/templates/charts/pie_chart.svg +215 -0
- package/skills/ppt-master/templates/charts/porter_five_forces.svg +246 -0
- package/skills/ppt-master/templates/charts/process_flow.svg +333 -0
- package/skills/ppt-master/templates/charts/progress_bar_chart.svg +295 -0
- package/skills/ppt-master/templates/charts/radar_chart.svg +158 -0
- package/skills/ppt-master/templates/charts/sankey_chart.svg +303 -0
- package/skills/ppt-master/templates/charts/scatter_chart.svg +235 -0
- package/skills/ppt-master/templates/charts/stacked_area_chart.svg +230 -0
- package/skills/ppt-master/templates/charts/stacked_bar_chart.svg +199 -0
- package/skills/ppt-master/templates/charts/swot_analysis.svg +277 -0
- package/skills/ppt-master/templates/charts/timeline.svg +279 -0
- package/skills/ppt-master/templates/charts/treemap_chart.svg +226 -0
- package/skills/ppt-master/templates/charts/waterfall_chart.svg +265 -0
- package/skills/ppt-master/templates/design_spec_reference.md +282 -0
- package/skills/ppt-master/templates/icons/FULL_INDEX.md +272 -0
- package/skills/ppt-master/templates/icons/README.md +75 -0
- package/skills/ppt-master/templates/icons/a.svg +4 -0
- package/skills/ppt-master/templates/icons/accessibility.svg +4 -0
- package/skills/ppt-master/templates/icons/activity.svg +5 -0
- package/skills/ppt-master/templates/icons/address-card.svg +4 -0
- package/skills/ppt-master/templates/icons/alarm-clock.svg +6 -0
- package/skills/ppt-master/templates/icons/alien.svg +4 -0
- package/skills/ppt-master/templates/icons/align-bottom.svg +6 -0
- package/skills/ppt-master/templates/icons/align-center-horizontal.svg +5 -0
- package/skills/ppt-master/templates/icons/align-center-vertical.svg +5 -0
- package/skills/ppt-master/templates/icons/align-left.svg +6 -0
- package/skills/ppt-master/templates/icons/align-right.svg +6 -0
- package/skills/ppt-master/templates/icons/align-text-center.svg +7 -0
- package/skills/ppt-master/templates/icons/align-text-justify.svg +7 -0
- package/skills/ppt-master/templates/icons/align-text-left.svg +7 -0
- package/skills/ppt-master/templates/icons/align-text-right.svg +7 -0
- package/skills/ppt-master/templates/icons/align-top.svg +6 -0
- package/skills/ppt-master/templates/icons/anchor.svg +4 -0
- package/skills/ppt-master/templates/icons/angle-down.svg +4 -0
- package/skills/ppt-master/templates/icons/angle-left.svg +4 -0
- package/skills/ppt-master/templates/icons/angle-right.svg +4 -0
- package/skills/ppt-master/templates/icons/angle-up.svg +4 -0
- package/skills/ppt-master/templates/icons/angles-down.svg +5 -0
- package/skills/ppt-master/templates/icons/angles-left.svg +5 -0
- package/skills/ppt-master/templates/icons/angles-right.svg +5 -0
- package/skills/ppt-master/templates/icons/angles-up.svg +5 -0
- package/skills/ppt-master/templates/icons/aperture.svg +9 -0
- package/skills/ppt-master/templates/icons/aquarius.svg +6 -0
- package/skills/ppt-master/templates/icons/archive-box.svg +5 -0
- package/skills/ppt-master/templates/icons/aries.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-down-from-line.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-down-left.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-down-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-down-short-wide.svg +7 -0
- package/skills/ppt-master/templates/icons/arrow-down-to-bracket.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-down-to-line.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-down-wide-short.svg +7 -0
- package/skills/ppt-master/templates/icons/arrow-down.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-left-arrow-right.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-left-from-line.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-left-to-line.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-left.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-right-from-bracket.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-right-from-line.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-right-to-bracket.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-right-to-line.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-rotate-left.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-rotate-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-trend-down.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-trend-up.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-turn-down-left.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-turn-down-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-turn-left-down.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-turn-left-up.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-turn-right-down.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-turn-right-up.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-turn-up-left.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-turn-up-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-u-down-left.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-u-down-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-u-left-down.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-u-left-up.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-u-right-down.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-u-right-up.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-u-up-left.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-u-up-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-up-arrow-down.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-up-from-bracket.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-up-from-line.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-up-left.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-up-right-from-square.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-up-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrow-up-short-wide.svg +7 -0
- package/skills/ppt-master/templates/icons/arrow-up-to-line.svg +5 -0
- package/skills/ppt-master/templates/icons/arrow-up-wide-short.svg +7 -0
- package/skills/ppt-master/templates/icons/arrow-up.svg +4 -0
- package/skills/ppt-master/templates/icons/arrows-left-right.svg +4 -0
- package/skills/ppt-master/templates/icons/arrows-repeat.svg +5 -0
- package/skills/ppt-master/templates/icons/arrows-rotate-clockwise.svg +5 -0
- package/skills/ppt-master/templates/icons/arrows-rotate-counter-clockwise.svg +5 -0
- package/skills/ppt-master/templates/icons/arrows-up-down.svg +4 -0
- package/skills/ppt-master/templates/icons/at.svg +4 -0
- package/skills/ppt-master/templates/icons/axe.svg +4 -0
- package/skills/ppt-master/templates/icons/b.svg +4 -0
- package/skills/ppt-master/templates/icons/badge-check.svg +4 -0
- package/skills/ppt-master/templates/icons/badge.svg +4 -0
- package/skills/ppt-master/templates/icons/ban.svg +4 -0
- package/skills/ppt-master/templates/icons/baseball-bat.svg +5 -0
- package/skills/ppt-master/templates/icons/baseball.svg +6 -0
- package/skills/ppt-master/templates/icons/basketball.svg +9 -0
- package/skills/ppt-master/templates/icons/battery-charge.svg +5 -0
- package/skills/ppt-master/templates/icons/battery-empty.svg +4 -0
- package/skills/ppt-master/templates/icons/battery-full.svg +4 -0
- package/skills/ppt-master/templates/icons/battery-half.svg +4 -0
- package/skills/ppt-master/templates/icons/battery-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/bed.svg +4 -0
- package/skills/ppt-master/templates/icons/bee.svg +5 -0
- package/skills/ppt-master/templates/icons/bell-slash.svg +6 -0
- package/skills/ppt-master/templates/icons/bell.svg +5 -0
- package/skills/ppt-master/templates/icons/bicycle.svg +7 -0
- package/skills/ppt-master/templates/icons/bishop.svg +4 -0
- package/skills/ppt-master/templates/icons/block-quote.svg +8 -0
- package/skills/ppt-master/templates/icons/bluetooth.svg +4 -0
- package/skills/ppt-master/templates/icons/bold.svg +4 -0
- package/skills/ppt-master/templates/icons/bolt.svg +4 -0
- package/skills/ppt-master/templates/icons/bomb.svg +6 -0
- package/skills/ppt-master/templates/icons/bone.svg +4 -0
- package/skills/ppt-master/templates/icons/book-open.svg +4 -0
- package/skills/ppt-master/templates/icons/book.svg +4 -0
- package/skills/ppt-master/templates/icons/bookmark-plus.svg +4 -0
- package/skills/ppt-master/templates/icons/bookmark.svg +4 -0
- package/skills/ppt-master/templates/icons/books.svg +6 -0
- package/skills/ppt-master/templates/icons/bottle.svg +5 -0
- package/skills/ppt-master/templates/icons/bow-and-arrow.svg +4 -0
- package/skills/ppt-master/templates/icons/bowl.svg +5 -0
- package/skills/ppt-master/templates/icons/box.svg +4 -0
- package/skills/ppt-master/templates/icons/bridge.svg +4 -0
- package/skills/ppt-master/templates/icons/british-pound.svg +4 -0
- package/skills/ppt-master/templates/icons/browser.svg +4 -0
- package/skills/ppt-master/templates/icons/brush.svg +5 -0
- package/skills/ppt-master/templates/icons/bug.svg +5 -0
- package/skills/ppt-master/templates/icons/building.svg +4 -0
- package/skills/ppt-master/templates/icons/bullhorn.svg +5 -0
- package/skills/ppt-master/templates/icons/burger.svg +6 -0
- package/skills/ppt-master/templates/icons/bus.svg +4 -0
- package/skills/ppt-master/templates/icons/butterfly.svg +4 -0
- package/skills/ppt-master/templates/icons/c.svg +4 -0
- package/skills/ppt-master/templates/icons/cake-slice.svg +5 -0
- package/skills/ppt-master/templates/icons/cake.svg +8 -0
- package/skills/ppt-master/templates/icons/calculator.svg +4 -0
- package/skills/ppt-master/templates/icons/calendar.svg +5 -0
- package/skills/ppt-master/templates/icons/camera-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/camera.svg +4 -0
- package/skills/ppt-master/templates/icons/cancer.svg +5 -0
- package/skills/ppt-master/templates/icons/capricorn.svg +4 -0
- package/skills/ppt-master/templates/icons/car.svg +4 -0
- package/skills/ppt-master/templates/icons/card-stack.svg +6 -0
- package/skills/ppt-master/templates/icons/caret-down.svg +4 -0
- package/skills/ppt-master/templates/icons/caret-left.svg +4 -0
- package/skills/ppt-master/templates/icons/caret-right.svg +4 -0
- package/skills/ppt-master/templates/icons/caret-up.svg +4 -0
- package/skills/ppt-master/templates/icons/castle.svg +4 -0
- package/skills/ppt-master/templates/icons/cat.svg +5 -0
- package/skills/ppt-master/templates/icons/chair.svg +5 -0
- package/skills/ppt-master/templates/icons/chart-bar.svg +6 -0
- package/skills/ppt-master/templates/icons/chart-line.svg +5 -0
- package/skills/ppt-master/templates/icons/chart-pie.svg +5 -0
- package/skills/ppt-master/templates/icons/checkmark.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-3-dots-horizontal.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-3-dots-vertical.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-arrow-down-left.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-arrow-down-right.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-arrow-down.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-arrow-left.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-arrow-right.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-arrow-up-left.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-arrow-up-right.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-arrow-up.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-checkmark.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-divide.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-equals.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-exclamation.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-half.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-info.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-minus.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-number-0.svg +5 -0
- package/skills/ppt-master/templates/icons/circle-number-1.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-number-2.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-number-3.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-number-4.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-number-5.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-number-6.svg +5 -0
- package/skills/ppt-master/templates/icons/circle-number-7.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-number-8.svg +6 -0
- package/skills/ppt-master/templates/icons/circle-number-9.svg +5 -0
- package/skills/ppt-master/templates/icons/circle-pause.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-play.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-plus.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-question.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-stop.svg +4 -0
- package/skills/ppt-master/templates/icons/circle-user.svg +5 -0
- package/skills/ppt-master/templates/icons/circle-x.svg +4 -0
- package/skills/ppt-master/templates/icons/circle.svg +4 -0
- package/skills/ppt-master/templates/icons/citrus-slice.svg +7 -0
- package/skills/ppt-master/templates/icons/city.svg +4 -0
- package/skills/ppt-master/templates/icons/clipboard.svg +5 -0
- package/skills/ppt-master/templates/icons/clock.svg +4 -0
- package/skills/ppt-master/templates/icons/closed-captioning.svg +4 -0
- package/skills/ppt-master/templates/icons/clothes-hanger.svg +4 -0
- package/skills/ppt-master/templates/icons/cloud-arrow-down.svg +4 -0
- package/skills/ppt-master/templates/icons/cloud-arrow-up.svg +4 -0
- package/skills/ppt-master/templates/icons/cloud-fog.svg +7 -0
- package/skills/ppt-master/templates/icons/cloud-lightning.svg +5 -0
- package/skills/ppt-master/templates/icons/cloud-rain.svg +7 -0
- package/skills/ppt-master/templates/icons/cloud-snow.svg +9 -0
- package/skills/ppt-master/templates/icons/cloud.svg +4 -0
- package/skills/ppt-master/templates/icons/club.svg +4 -0
- package/skills/ppt-master/templates/icons/cocktail.svg +4 -0
- package/skills/ppt-master/templates/icons/code-block.svg +4 -0
- package/skills/ppt-master/templates/icons/code.svg +6 -0
- package/skills/ppt-master/templates/icons/cog.svg +4 -0
- package/skills/ppt-master/templates/icons/coin.svg +4 -0
- package/skills/ppt-master/templates/icons/columns.svg +5 -0
- package/skills/ppt-master/templates/icons/command.svg +4 -0
- package/skills/ppt-master/templates/icons/comment-dots.svg +4 -0
- package/skills/ppt-master/templates/icons/comment.svg +4 -0
- package/skills/ppt-master/templates/icons/comments-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/comments.svg +5 -0
- package/skills/ppt-master/templates/icons/compact-disc.svg +4 -0
- package/skills/ppt-master/templates/icons/compass-drafting.svg +5 -0
- package/skills/ppt-master/templates/icons/compass.svg +5 -0
- package/skills/ppt-master/templates/icons/component.svg +7 -0
- package/skills/ppt-master/templates/icons/copy.svg +5 -0
- package/skills/ppt-master/templates/icons/copyright.svg +4 -0
- package/skills/ppt-master/templates/icons/credit-card.svg +5 -0
- package/skills/ppt-master/templates/icons/crop.svg +5 -0
- package/skills/ppt-master/templates/icons/crosshairs.svg +5 -0
- package/skills/ppt-master/templates/icons/crown.svg +4 -0
- package/skills/ppt-master/templates/icons/crystal-ball.svg +5 -0
- package/skills/ppt-master/templates/icons/cube.svg +4 -0
- package/skills/ppt-master/templates/icons/cupcake.svg +5 -0
- package/skills/ppt-master/templates/icons/curling-stone.svg +5 -0
- package/skills/ppt-master/templates/icons/cursor-click.svg +7 -0
- package/skills/ppt-master/templates/icons/cursor.svg +4 -0
- package/skills/ppt-master/templates/icons/d-pad.svg +7 -0
- package/skills/ppt-master/templates/icons/d.svg +4 -0
- package/skills/ppt-master/templates/icons/database.svg +6 -0
- package/skills/ppt-master/templates/icons/delete.svg +4 -0
- package/skills/ppt-master/templates/icons/desktop.svg +4 -0
- package/skills/ppt-master/templates/icons/diamond-exclamation.svg +4 -0
- package/skills/ppt-master/templates/icons/diamond-half.svg +4 -0
- package/skills/ppt-master/templates/icons/diamond-shape.svg +4 -0
- package/skills/ppt-master/templates/icons/diamond.svg +4 -0
- package/skills/ppt-master/templates/icons/dice.svg +5 -0
- package/skills/ppt-master/templates/icons/die-1.svg +4 -0
- package/skills/ppt-master/templates/icons/die-2.svg +4 -0
- package/skills/ppt-master/templates/icons/die-3.svg +4 -0
- package/skills/ppt-master/templates/icons/die-4.svg +4 -0
- package/skills/ppt-master/templates/icons/die-5.svg +4 -0
- package/skills/ppt-master/templates/icons/die-6.svg +4 -0
- package/skills/ppt-master/templates/icons/distribute-horizontal.svg +6 -0
- package/skills/ppt-master/templates/icons/distribute-vertical.svg +6 -0
- package/skills/ppt-master/templates/icons/divide.svg +6 -0
- package/skills/ppt-master/templates/icons/dna.svg +4 -0
- package/skills/ppt-master/templates/icons/dog.svg +4 -0
- package/skills/ppt-master/templates/icons/dollar.svg +4 -0
- package/skills/ppt-master/templates/icons/door-open.svg +4 -0
- package/skills/ppt-master/templates/icons/door.svg +4 -0
- package/skills/ppt-master/templates/icons/dots-horizontal.svg +6 -0
- package/skills/ppt-master/templates/icons/dots-vertical.svg +6 -0
- package/skills/ppt-master/templates/icons/droplet.svg +4 -0
- package/skills/ppt-master/templates/icons/e.svg +4 -0
- package/skills/ppt-master/templates/icons/ear-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/ear.svg +4 -0
- package/skills/ppt-master/templates/icons/eject.svg +5 -0
- package/skills/ppt-master/templates/icons/envelope.svg +5 -0
- package/skills/ppt-master/templates/icons/equals.svg +5 -0
- package/skills/ppt-master/templates/icons/euro.svg +4 -0
- package/skills/ppt-master/templates/icons/exclude.svg +4 -0
- package/skills/ppt-master/templates/icons/eye-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/eye.svg +4 -0
- package/skills/ppt-master/templates/icons/eyedropper.svg +5 -0
- package/skills/ppt-master/templates/icons/f.svg +4 -0
- package/skills/ppt-master/templates/icons/face-angry.svg +4 -0
- package/skills/ppt-master/templates/icons/face-cry.svg +4 -0
- package/skills/ppt-master/templates/icons/face-id.svg +10 -0
- package/skills/ppt-master/templates/icons/face-laugh.svg +4 -0
- package/skills/ppt-master/templates/icons/face-meh.svg +4 -0
- package/skills/ppt-master/templates/icons/face-melt.svg +4 -0
- package/skills/ppt-master/templates/icons/face-no-mouth.svg +4 -0
- package/skills/ppt-master/templates/icons/face-open-mouth.svg +4 -0
- package/skills/ppt-master/templates/icons/face-sad.svg +4 -0
- package/skills/ppt-master/templates/icons/face-smile.svg +4 -0
- package/skills/ppt-master/templates/icons/factory.svg +4 -0
- package/skills/ppt-master/templates/icons/fast-forward.svg +4 -0
- package/skills/ppt-master/templates/icons/file-plus.svg +4 -0
- package/skills/ppt-master/templates/icons/file.svg +5 -0
- package/skills/ppt-master/templates/icons/files.svg +5 -0
- package/skills/ppt-master/templates/icons/film.svg +4 -0
- package/skills/ppt-master/templates/icons/filter.svg +7 -0
- package/skills/ppt-master/templates/icons/fire.svg +4 -0
- package/skills/ppt-master/templates/icons/fireplace.svg +5 -0
- package/skills/ppt-master/templates/icons/fish.svg +4 -0
- package/skills/ppt-master/templates/icons/flag.svg +4 -0
- package/skills/ppt-master/templates/icons/floppy-disk.svg +5 -0
- package/skills/ppt-master/templates/icons/flower.svg +6 -0
- package/skills/ppt-master/templates/icons/folder-open.svg +4 -0
- package/skills/ppt-master/templates/icons/folder.svg +4 -0
- package/skills/ppt-master/templates/icons/folders.svg +5 -0
- package/skills/ppt-master/templates/icons/font-case.svg +5 -0
- package/skills/ppt-master/templates/icons/football.svg +4 -0
- package/skills/ppt-master/templates/icons/frame.svg +4 -0
- package/skills/ppt-master/templates/icons/funnel.svg +4 -0
- package/skills/ppt-master/templates/icons/g.svg +4 -0
- package/skills/ppt-master/templates/icons/game-controller.svg +4 -0
- package/skills/ppt-master/templates/icons/gauge-high.svg +4 -0
- package/skills/ppt-master/templates/icons/gauge-low.svg +4 -0
- package/skills/ppt-master/templates/icons/gauge-medium.svg +4 -0
- package/skills/ppt-master/templates/icons/gem.svg +4 -0
- package/skills/ppt-master/templates/icons/gemini.svg +4 -0
- package/skills/ppt-master/templates/icons/ghost.svg +4 -0
- package/skills/ppt-master/templates/icons/gift.svg +6 -0
- package/skills/ppt-master/templates/icons/git-branch.svg +4 -0
- package/skills/ppt-master/templates/icons/git-commit.svg +4 -0
- package/skills/ppt-master/templates/icons/git-compare.svg +5 -0
- package/skills/ppt-master/templates/icons/git-fork.svg +4 -0
- package/skills/ppt-master/templates/icons/git-merge.svg +4 -0
- package/skills/ppt-master/templates/icons/glasses.svg +4 -0
- package/skills/ppt-master/templates/icons/globe.svg +7 -0
- package/skills/ppt-master/templates/icons/grid-masonry.svg +7 -0
- package/skills/ppt-master/templates/icons/grid.svg +4 -0
- package/skills/ppt-master/templates/icons/grip-horizontal.svg +9 -0
- package/skills/ppt-master/templates/icons/grip-vertical.svg +9 -0
- package/skills/ppt-master/templates/icons/group.svg +15 -0
- package/skills/ppt-master/templates/icons/h.svg +4 -0
- package/skills/ppt-master/templates/icons/hammer.svg +5 -0
- package/skills/ppt-master/templates/icons/hand-tap.svg +7 -0
- package/skills/ppt-master/templates/icons/hand.svg +4 -0
- package/skills/ppt-master/templates/icons/hashtag.svg +4 -0
- package/skills/ppt-master/templates/icons/head-side.svg +4 -0
- package/skills/ppt-master/templates/icons/headlights.svg +7 -0
- package/skills/ppt-master/templates/icons/headphones.svg +4 -0
- package/skills/ppt-master/templates/icons/heart-broken.svg +4 -0
- package/skills/ppt-master/templates/icons/heart-half.svg +4 -0
- package/skills/ppt-master/templates/icons/heart.svg +4 -0
- package/skills/ppt-master/templates/icons/hexagon.svg +4 -0
- package/skills/ppt-master/templates/icons/hockey.svg +6 -0
- package/skills/ppt-master/templates/icons/home-1.svg +4 -0
- package/skills/ppt-master/templates/icons/home.svg +4 -0
- package/skills/ppt-master/templates/icons/hospital.svg +4 -0
- package/skills/ppt-master/templates/icons/hourglass-empty.svg +4 -0
- package/skills/ppt-master/templates/icons/hourglass-half-bottom.svg +4 -0
- package/skills/ppt-master/templates/icons/hourglass-half-top.svg +4 -0
- package/skills/ppt-master/templates/icons/i-cursor.svg +4 -0
- package/skills/ppt-master/templates/icons/i.svg +4 -0
- package/skills/ppt-master/templates/icons/ice-cream.svg +5 -0
- package/skills/ppt-master/templates/icons/icons_index.json +257 -0
- package/skills/ppt-master/templates/icons/image.svg +4 -0
- package/skills/ppt-master/templates/icons/images.svg +5 -0
- package/skills/ppt-master/templates/icons/inbox.svg +4 -0
- package/skills/ppt-master/templates/icons/indent.svg +8 -0
- package/skills/ppt-master/templates/icons/intersect.svg +4 -0
- package/skills/ppt-master/templates/icons/italic.svg +4 -0
- package/skills/ppt-master/templates/icons/j.svg +4 -0
- package/skills/ppt-master/templates/icons/jersey.svg +5 -0
- package/skills/ppt-master/templates/icons/joystick.svg +4 -0
- package/skills/ppt-master/templates/icons/k.svg +4 -0
- package/skills/ppt-master/templates/icons/key-skeleton.svg +4 -0
- package/skills/ppt-master/templates/icons/key.svg +4 -0
- package/skills/ppt-master/templates/icons/keyboard.svg +14 -0
- package/skills/ppt-master/templates/icons/keyhole.svg +4 -0
- package/skills/ppt-master/templates/icons/king.svg +4 -0
- package/skills/ppt-master/templates/icons/knight.svg +4 -0
- package/skills/ppt-master/templates/icons/l.svg +4 -0
- package/skills/ppt-master/templates/icons/label.svg +4 -0
- package/skills/ppt-master/templates/icons/ladder.svg +4 -0
- package/skills/ppt-master/templates/icons/lamp.svg +5 -0
- package/skills/ppt-master/templates/icons/language.svg +4 -0
- package/skills/ppt-master/templates/icons/laptop.svg +5 -0
- package/skills/ppt-master/templates/icons/laundry-machine.svg +4 -0
- package/skills/ppt-master/templates/icons/layers.svg +6 -0
- package/skills/ppt-master/templates/icons/leaf.svg +4 -0
- package/skills/ppt-master/templates/icons/leo.svg +4 -0
- package/skills/ppt-master/templates/icons/libra.svg +5 -0
- package/skills/ppt-master/templates/icons/life-ring.svg +4 -0
- package/skills/ppt-master/templates/icons/lightbulb.svg +4 -0
- package/skills/ppt-master/templates/icons/lines-magnifying-glass.svg +8 -0
- package/skills/ppt-master/templates/icons/lines-plus.svg +8 -0
- package/skills/ppt-master/templates/icons/lines.svg +7 -0
- package/skills/ppt-master/templates/icons/link.svg +6 -0
- package/skills/ppt-master/templates/icons/list-ordered.svg +9 -0
- package/skills/ppt-master/templates/icons/list.svg +11 -0
- package/skills/ppt-master/templates/icons/location-arrow-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/location-arrow.svg +4 -0
- package/skills/ppt-master/templates/icons/location-target.svg +5 -0
- package/skills/ppt-master/templates/icons/lock-closed.svg +4 -0
- package/skills/ppt-master/templates/icons/lock-open.svg +4 -0
- package/skills/ppt-master/templates/icons/m.svg +4 -0
- package/skills/ppt-master/templates/icons/magnet.svg +6 -0
- package/skills/ppt-master/templates/icons/magnifying-glass.svg +4 -0
- package/skills/ppt-master/templates/icons/mailbox.svg +4 -0
- package/skills/ppt-master/templates/icons/map-pin.svg +4 -0
- package/skills/ppt-master/templates/icons/map.svg +6 -0
- package/skills/ppt-master/templates/icons/maximize.svg +5 -0
- package/skills/ppt-master/templates/icons/meeple.svg +4 -0
- package/skills/ppt-master/templates/icons/megaphone.svg +4 -0
- package/skills/ppt-master/templates/icons/meteor.svg +4 -0
- package/skills/ppt-master/templates/icons/microchip.svg +5 -0
- package/skills/ppt-master/templates/icons/microphone-slash.svg +6 -0
- package/skills/ppt-master/templates/icons/microphone.svg +5 -0
- package/skills/ppt-master/templates/icons/minimize.svg +5 -0
- package/skills/ppt-master/templates/icons/minus.svg +4 -0
- package/skills/ppt-master/templates/icons/mobile.svg +4 -0
- package/skills/ppt-master/templates/icons/money.svg +8 -0
- package/skills/ppt-master/templates/icons/moon-cloud.svg +6 -0
- package/skills/ppt-master/templates/icons/moon-fog.svg +7 -0
- package/skills/ppt-master/templates/icons/moon.svg +5 -0
- package/skills/ppt-master/templates/icons/mortarboard.svg +5 -0
- package/skills/ppt-master/templates/icons/mountains.svg +4 -0
- package/skills/ppt-master/templates/icons/mouse.svg +6 -0
- package/skills/ppt-master/templates/icons/move-down.svg +6 -0
- package/skills/ppt-master/templates/icons/move-up.svg +6 -0
- package/skills/ppt-master/templates/icons/mug.svg +7 -0
- package/skills/ppt-master/templates/icons/museum.svg +5 -0
- package/skills/ppt-master/templates/icons/music.svg +4 -0
- package/skills/ppt-master/templates/icons/n.svg +4 -0
- package/skills/ppt-master/templates/icons/newspaper.svg +4 -0
- package/skills/ppt-master/templates/icons/number-0-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-0.svg +4 -0
- package/skills/ppt-master/templates/icons/number-1-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-1.svg +4 -0
- package/skills/ppt-master/templates/icons/number-2-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-2.svg +4 -0
- package/skills/ppt-master/templates/icons/number-3-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-3.svg +4 -0
- package/skills/ppt-master/templates/icons/number-4-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-4.svg +4 -0
- package/skills/ppt-master/templates/icons/number-5-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-5.svg +4 -0
- package/skills/ppt-master/templates/icons/number-6-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-6.svg +4 -0
- package/skills/ppt-master/templates/icons/number-7-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-7.svg +4 -0
- package/skills/ppt-master/templates/icons/number-8-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-8.svg +4 -0
- package/skills/ppt-master/templates/icons/number-9-alt.svg +4 -0
- package/skills/ppt-master/templates/icons/number-9.svg +4 -0
- package/skills/ppt-master/templates/icons/nut.svg +4 -0
- package/skills/ppt-master/templates/icons/o.svg +4 -0
- package/skills/ppt-master/templates/icons/octagon-exclamation.svg +4 -0
- package/skills/ppt-master/templates/icons/octagon.svg +4 -0
- package/skills/ppt-master/templates/icons/option.svg +5 -0
- package/skills/ppt-master/templates/icons/outdent.svg +8 -0
- package/skills/ppt-master/templates/icons/outlet.svg +4 -0
- package/skills/ppt-master/templates/icons/p.svg +4 -0
- package/skills/ppt-master/templates/icons/paint-bucket.svg +5 -0
- package/skills/ppt-master/templates/icons/paint-roller.svg +4 -0
- package/skills/ppt-master/templates/icons/painting.svg +5 -0
- package/skills/ppt-master/templates/icons/palette.svg +4 -0
- package/skills/ppt-master/templates/icons/pants.svg +4 -0
- package/skills/ppt-master/templates/icons/paper-plane.svg +4 -0
- package/skills/ppt-master/templates/icons/paperclip.svg +4 -0
- package/skills/ppt-master/templates/icons/pause.svg +5 -0
- package/skills/ppt-master/templates/icons/paw.svg +8 -0
- package/skills/ppt-master/templates/icons/pawn.svg +4 -0
- package/skills/ppt-master/templates/icons/pen-nib.svg +4 -0
- package/skills/ppt-master/templates/icons/pencil-square.svg +5 -0
- package/skills/ppt-master/templates/icons/pencil.svg +5 -0
- package/skills/ppt-master/templates/icons/percent.svg +6 -0
- package/skills/ppt-master/templates/icons/person-walking.svg +5 -0
- package/skills/ppt-master/templates/icons/person-wave.svg +5 -0
- package/skills/ppt-master/templates/icons/person.svg +5 -0
- package/skills/ppt-master/templates/icons/phone-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/phone.svg +4 -0
- package/skills/ppt-master/templates/icons/pills.svg +6 -0
- package/skills/ppt-master/templates/icons/pisces.svg +4 -0
- package/skills/ppt-master/templates/icons/pizza.svg +5 -0
- package/skills/ppt-master/templates/icons/plane.svg +4 -0
- package/skills/ppt-master/templates/icons/planet.svg +5 -0
- package/skills/ppt-master/templates/icons/play-pause.svg +6 -0
- package/skills/ppt-master/templates/icons/play.svg +4 -0
- package/skills/ppt-master/templates/icons/playing-card.svg +4 -0
- package/skills/ppt-master/templates/icons/plug.svg +4 -0
- package/skills/ppt-master/templates/icons/plus.svg +4 -0
- package/skills/ppt-master/templates/icons/point-down.svg +4 -0
- package/skills/ppt-master/templates/icons/point-left.svg +4 -0
- package/skills/ppt-master/templates/icons/point-right.svg +4 -0
- package/skills/ppt-master/templates/icons/point-up.svg +4 -0
- package/skills/ppt-master/templates/icons/poop.svg +4 -0
- package/skills/ppt-master/templates/icons/potion-empty.svg +4 -0
- package/skills/ppt-master/templates/icons/potion-full.svg +4 -0
- package/skills/ppt-master/templates/icons/potion-half.svg +4 -0
- package/skills/ppt-master/templates/icons/power.svg +5 -0
- package/skills/ppt-master/templates/icons/printer.svg +5 -0
- package/skills/ppt-master/templates/icons/q.svg +4 -0
- package/skills/ppt-master/templates/icons/queen.svg +5 -0
- package/skills/ppt-master/templates/icons/question-mark.svg +5 -0
- package/skills/ppt-master/templates/icons/quote-left.svg +5 -0
- package/skills/ppt-master/templates/icons/quote-right.svg +5 -0
- package/skills/ppt-master/templates/icons/radar.svg +4 -0
- package/skills/ppt-master/templates/icons/radioactive.svg +4 -0
- package/skills/ppt-master/templates/icons/rainbow-cloud.svg +6 -0
- package/skills/ppt-master/templates/icons/rainbow.svg +5 -0
- package/skills/ppt-master/templates/icons/receipt.svg +4 -0
- package/skills/ppt-master/templates/icons/recycle.svg +6 -0
- package/skills/ppt-master/templates/icons/reflect-horizontal.svg +6 -0
- package/skills/ppt-master/templates/icons/reflect-vertical.svg +6 -0
- package/skills/ppt-master/templates/icons/rewind.svg +4 -0
- package/skills/ppt-master/templates/icons/robot.svg +4 -0
- package/skills/ppt-master/templates/icons/rocket.svg +5 -0
- package/skills/ppt-master/templates/icons/rook.svg +4 -0
- package/skills/ppt-master/templates/icons/route.svg +6 -0
- package/skills/ppt-master/templates/icons/rows.svg +5 -0
- package/skills/ppt-master/templates/icons/rss.svg +6 -0
- package/skills/ppt-master/templates/icons/ruler.svg +4 -0
- package/skills/ppt-master/templates/icons/s.svg +4 -0
- package/skills/ppt-master/templates/icons/sagittarius.svg +4 -0
- package/skills/ppt-master/templates/icons/scissors.svg +5 -0
- package/skills/ppt-master/templates/icons/scooter.svg +4 -0
- package/skills/ppt-master/templates/icons/scorpio.svg +4 -0
- package/skills/ppt-master/templates/icons/screencast.svg +6 -0
- package/skills/ppt-master/templates/icons/screw.svg +6 -0
- package/skills/ppt-master/templates/icons/screwdriver.svg +5 -0
- package/skills/ppt-master/templates/icons/scribble.svg +5 -0
- package/skills/ppt-master/templates/icons/seedling.svg +4 -0
- package/skills/ppt-master/templates/icons/server.svg +5 -0
- package/skills/ppt-master/templates/icons/service-bell.svg +5 -0
- package/skills/ppt-master/templates/icons/share-nodes.svg +4 -0
- package/skills/ppt-master/templates/icons/shield-check.svg +4 -0
- package/skills/ppt-master/templates/icons/shield-half.svg +4 -0
- package/skills/ppt-master/templates/icons/shield.svg +4 -0
- package/skills/ppt-master/templates/icons/shift.svg +4 -0
- package/skills/ppt-master/templates/icons/ship.svg +5 -0
- package/skills/ppt-master/templates/icons/shirt.svg +4 -0
- package/skills/ppt-master/templates/icons/shoe.svg +5 -0
- package/skills/ppt-master/templates/icons/shop.svg +5 -0
- package/skills/ppt-master/templates/icons/shopping-bag.svg +5 -0
- package/skills/ppt-master/templates/icons/shopping-basket.svg +4 -0
- package/skills/ppt-master/templates/icons/shopping-cart.svg +4 -0
- package/skills/ppt-master/templates/icons/shuffle.svg +5 -0
- package/skills/ppt-master/templates/icons/sidebar-left.svg +5 -0
- package/skills/ppt-master/templates/icons/sidebar-right.svg +5 -0
- package/skills/ppt-master/templates/icons/signal-fair.svg +5 -0
- package/skills/ppt-master/templates/icons/signal-good.svg +6 -0
- package/skills/ppt-master/templates/icons/signal-slash.svg +7 -0
- package/skills/ppt-master/templates/icons/signal-weak.svg +4 -0
- package/skills/ppt-master/templates/icons/signal.svg +7 -0
- package/skills/ppt-master/templates/icons/signpost.svg +5 -0
- package/skills/ppt-master/templates/icons/sink.svg +5 -0
- package/skills/ppt-master/templates/icons/skip-backward.svg +4 -0
- package/skills/ppt-master/templates/icons/skip-forward.svg +4 -0
- package/skills/ppt-master/templates/icons/skull.svg +4 -0
- package/skills/ppt-master/templates/icons/sliders.svg +5 -0
- package/skills/ppt-master/templates/icons/smartwatch.svg +4 -0
- package/skills/ppt-master/templates/icons/snow.svg +4 -0
- package/skills/ppt-master/templates/icons/soccer.svg +9 -0
- package/skills/ppt-master/templates/icons/soda.svg +5 -0
- package/skills/ppt-master/templates/icons/sort.svg +5 -0
- package/skills/ppt-master/templates/icons/spade.svg +4 -0
- package/skills/ppt-master/templates/icons/sparkles.svg +8 -0
- package/skills/ppt-master/templates/icons/square-checkmark.svg +4 -0
- package/skills/ppt-master/templates/icons/square-divide.svg +4 -0
- package/skills/ppt-master/templates/icons/square-equals.svg +4 -0
- package/skills/ppt-master/templates/icons/square-minus.svg +4 -0
- package/skills/ppt-master/templates/icons/square-plus.svg +4 -0
- package/skills/ppt-master/templates/icons/square-user.svg +5 -0
- package/skills/ppt-master/templates/icons/square-x.svg +4 -0
- package/skills/ppt-master/templates/icons/square.svg +4 -0
- package/skills/ppt-master/templates/icons/squares-horizontal.svg +6 -0
- package/skills/ppt-master/templates/icons/squares-vertical.svg +6 -0
- package/skills/ppt-master/templates/icons/star-half.svg +4 -0
- package/skills/ppt-master/templates/icons/star.svg +4 -0
- package/skills/ppt-master/templates/icons/sticky-note.svg +5 -0
- package/skills/ppt-master/templates/icons/stop.svg +4 -0
- package/skills/ppt-master/templates/icons/stopwatch.svg +4 -0
- package/skills/ppt-master/templates/icons/strikethrough.svg +5 -0
- package/skills/ppt-master/templates/icons/subtract.svg +4 -0
- package/skills/ppt-master/templates/icons/suitcase.svg +6 -0
- package/skills/ppt-master/templates/icons/sun-cloud.svg +9 -0
- package/skills/ppt-master/templates/icons/sun-fog.svg +12 -0
- package/skills/ppt-master/templates/icons/sun.svg +12 -0
- package/skills/ppt-master/templates/icons/sunglasses.svg +4 -0
- package/skills/ppt-master/templates/icons/swatches.svg +6 -0
- package/skills/ppt-master/templates/icons/sword.svg +4 -0
- package/skills/ppt-master/templates/icons/swords-crossed.svg +6 -0
- package/skills/ppt-master/templates/icons/t.svg +4 -0
- package/skills/ppt-master/templates/icons/table.svg +8 -0
- package/skills/ppt-master/templates/icons/tag.svg +4 -0
- package/skills/ppt-master/templates/icons/target-arrow.svg +6 -0
- package/skills/ppt-master/templates/icons/target.svg +5 -0
- package/skills/ppt-master/templates/icons/taurus.svg +4 -0
- package/skills/ppt-master/templates/icons/temperature-high.svg +8 -0
- package/skills/ppt-master/templates/icons/temperature-low.svg +8 -0
- package/skills/ppt-master/templates/icons/temperature-medium.svg +8 -0
- package/skills/ppt-master/templates/icons/tennis-ball.svg +6 -0
- package/skills/ppt-master/templates/icons/terminal.svg +5 -0
- package/skills/ppt-master/templates/icons/text.svg +4 -0
- package/skills/ppt-master/templates/icons/thumbs-down.svg +5 -0
- package/skills/ppt-master/templates/icons/thumbs-up.svg +5 -0
- package/skills/ppt-master/templates/icons/thumbtack.svg +5 -0
- package/skills/ppt-master/templates/icons/ticket.svg +4 -0
- package/skills/ppt-master/templates/icons/toggle-circle-left.svg +4 -0
- package/skills/ppt-master/templates/icons/toggle-circle-right.svg +4 -0
- package/skills/ppt-master/templates/icons/toolbox.svg +5 -0
- package/skills/ppt-master/templates/icons/traffic-cone.svg +6 -0
- package/skills/ppt-master/templates/icons/traffic-light.svg +4 -0
- package/skills/ppt-master/templates/icons/train.svg +4 -0
- package/skills/ppt-master/templates/icons/trash.svg +5 -0
- package/skills/ppt-master/templates/icons/tree-evergreen.svg +4 -0
- package/skills/ppt-master/templates/icons/tree.svg +4 -0
- package/skills/ppt-master/templates/icons/triangle-exclamation.svg +4 -0
- package/skills/ppt-master/templates/icons/triangle.svg +4 -0
- package/skills/ppt-master/templates/icons/trophy.svg +4 -0
- package/skills/ppt-master/templates/icons/truck.svg +4 -0
- package/skills/ppt-master/templates/icons/tv-retro.svg +4 -0
- package/skills/ppt-master/templates/icons/tv.svg +5 -0
- package/skills/ppt-master/templates/icons/u.svg +4 -0
- package/skills/ppt-master/templates/icons/ufo.svg +5 -0
- package/skills/ppt-master/templates/icons/umbrella.svg +4 -0
- package/skills/ppt-master/templates/icons/underline.svg +5 -0
- package/skills/ppt-master/templates/icons/unite.svg +4 -0
- package/skills/ppt-master/templates/icons/user.svg +5 -0
- package/skills/ppt-master/templates/icons/users.svg +7 -0
- package/skills/ppt-master/templates/icons/utensils.svg +5 -0
- package/skills/ppt-master/templates/icons/v.svg +4 -0
- package/skills/ppt-master/templates/icons/vector-circle.svg +4 -0
- package/skills/ppt-master/templates/icons/vector-curve.svg +4 -0
- package/skills/ppt-master/templates/icons/vector-line.svg +4 -0
- package/skills/ppt-master/templates/icons/vector-square.svg +4 -0
- package/skills/ppt-master/templates/icons/video-camera-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/video-camera.svg +5 -0
- package/skills/ppt-master/templates/icons/video.svg +4 -0
- package/skills/ppt-master/templates/icons/virgo.svg +4 -0
- package/skills/ppt-master/templates/icons/volume-high.svg +6 -0
- package/skills/ppt-master/templates/icons/volume-low.svg +5 -0
- package/skills/ppt-master/templates/icons/volume-none.svg +4 -0
- package/skills/ppt-master/templates/icons/volume-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/volume-x.svg +5 -0
- package/skills/ppt-master/templates/icons/vr.svg +4 -0
- package/skills/ppt-master/templates/icons/w.svg +4 -0
- package/skills/ppt-master/templates/icons/wallet.svg +4 -0
- package/skills/ppt-master/templates/icons/wand-with-sparkles.svg +7 -0
- package/skills/ppt-master/templates/icons/watch.svg +4 -0
- package/skills/ppt-master/templates/icons/water.svg +5 -0
- package/skills/ppt-master/templates/icons/waveform.svg +7 -0
- package/skills/ppt-master/templates/icons/wheelchair.svg +5 -0
- package/skills/ppt-master/templates/icons/wifi-low.svg +4 -0
- package/skills/ppt-master/templates/icons/wifi-medium.svg +5 -0
- package/skills/ppt-master/templates/icons/wifi-slash.svg +5 -0
- package/skills/ppt-master/templates/icons/wifi.svg +6 -0
- package/skills/ppt-master/templates/icons/wind.svg +5 -0
- package/skills/ppt-master/templates/icons/window.svg +6 -0
- package/skills/ppt-master/templates/icons/wine-glass.svg +4 -0
- package/skills/ppt-master/templates/icons/wrench.svg +4 -0
- package/skills/ppt-master/templates/icons/x-1.svg +4 -0
- package/skills/ppt-master/templates/icons/x.svg +4 -0
- package/skills/ppt-master/templates/icons/y.svg +4 -0
- package/skills/ppt-master/templates/icons/yen.svg +4 -0
- package/skills/ppt-master/templates/icons/z.svg +4 -0
- package/skills/ppt-master/templates/icons/zoom-in.svg +4 -0
- package/skills/ppt-master/templates/icons/zoom-out.svg +4 -0
- package/skills/ppt-master/templates/layouts/README.md +257 -0
- package/skills/ppt-master/templates/layouts/academic_defense/01_cover.svg +49 -0
- package/skills/ppt-master/templates/layouts/academic_defense/02_chapter.svg +36 -0
- package/skills/ppt-master/templates/layouts/academic_defense/02_toc.svg +63 -0
- package/skills/ppt-master/templates/layouts/academic_defense/03_content.svg +58 -0
- package/skills/ppt-master/templates/layouts/academic_defense/04_ending.svg +52 -0
- package/skills/ppt-master/templates/layouts/academic_defense/design_spec.md +294 -0
- package/skills/ppt-master/templates/layouts/ai_ops/01_cover.svg +65 -0
- package/skills/ppt-master/templates/layouts/ai_ops/02_chapter.svg +36 -0
- package/skills/ppt-master/templates/layouts/ai_ops/02_toc.svg +51 -0
- package/skills/ppt-master/templates/layouts/ai_ops/03_content.svg +37 -0
- package/skills/ppt-master/templates/layouts/ai_ops/04_ending.svg +59 -0
- package/skills/ppt-master/templates/layouts/ai_ops/design_spec.md +357 -0
- package/skills/ppt-master/templates/layouts/ai_ops/reference_style.svg +154 -0
- package/skills/ppt-master/templates/layouts/anthropic/01_cover.svg +105 -0
- package/skills/ppt-master/templates/layouts/anthropic/02_chapter.svg +75 -0
- package/skills/ppt-master/templates/layouts/anthropic/02_toc.svg +120 -0
- package/skills/ppt-master/templates/layouts/anthropic/03_content.svg +118 -0
- package/skills/ppt-master/templates/layouts/anthropic/04_ending.svg +107 -0
- package/skills/ppt-master/templates/layouts/anthropic/design_spec.md +243 -0
- package/skills/ppt-master/templates/layouts/exhibit/01_cover.svg +49 -0
- package/skills/ppt-master/templates/layouts/exhibit/02_chapter.svg +43 -0
- package/skills/ppt-master/templates/layouts/exhibit/02_toc.svg +82 -0
- package/skills/ppt-master/templates/layouts/exhibit/03_content.svg +38 -0
- package/skills/ppt-master/templates/layouts/exhibit/04_ending.svg +54 -0
- package/skills/ppt-master/templates/layouts/exhibit/design_spec.md +244 -0
- package/skills/ppt-master/templates/layouts/google_style/01_cover.svg +79 -0
- package/skills/ppt-master/templates/layouts/google_style/02_chapter.svg +62 -0
- package/skills/ppt-master/templates/layouts/google_style/02_toc.svg +89 -0
- package/skills/ppt-master/templates/layouts/google_style/03_content.svg +72 -0
- package/skills/ppt-master/templates/layouts/google_style/04_ending.svg +97 -0
- package/skills/ppt-master/templates/layouts/google_style/design_spec.md +303 -0
- package/skills/ppt-master/templates/layouts/government_blue/01_cover.svg +93 -0
- package/skills/ppt-master/templates/layouts/government_blue/02_chapter.svg +82 -0
- package/skills/ppt-master/templates/layouts/government_blue/02_toc.svg +107 -0
- package/skills/ppt-master/templates/layouts/government_blue/03_content.svg +78 -0
- package/skills/ppt-master/templates/layouts/government_blue/04_ending.svg +81 -0
- package/skills/ppt-master/templates/layouts/government_blue/design_spec.md +233 -0
- package/skills/ppt-master/templates/layouts/government_red/01_cover.svg +73 -0
- package/skills/ppt-master/templates/layouts/government_red/02_chapter.svg +66 -0
- package/skills/ppt-master/templates/layouts/government_red/02_toc.svg +88 -0
- package/skills/ppt-master/templates/layouts/government_red/03_content.svg +66 -0
- package/skills/ppt-master/templates/layouts/government_red/04_ending.svg +75 -0
- package/skills/ppt-master/templates/layouts/government_red/design_spec.md +227 -0
- package/skills/ppt-master/templates/layouts/layouts_index.json +204 -0
- package/skills/ppt-master/templates/layouts/mckinsey/01_cover.svg +84 -0
- package/skills/ppt-master/templates/layouts/mckinsey/02_chapter.svg +76 -0
- package/skills/ppt-master/templates/layouts/mckinsey/02_toc.svg +91 -0
- package/skills/ppt-master/templates/layouts/mckinsey/03_content.svg +92 -0
- package/skills/ppt-master/templates/layouts/mckinsey/04_ending.svg +87 -0
- package/skills/ppt-master/templates/layouts/mckinsey/design_spec.md +265 -0
- package/skills/ppt-master/templates/layouts/medical_university/01_cover.svg +71 -0
- package/skills/ppt-master/templates/layouts/medical_university/02_chapter.svg +50 -0
- package/skills/ppt-master/templates/layouts/medical_university/02_toc.svg +97 -0
- package/skills/ppt-master/templates/layouts/medical_university/03_content.svg +78 -0
- package/skills/ppt-master/templates/layouts/medical_university/04_ending.svg +79 -0
- package/skills/ppt-master/templates/layouts/medical_university/design_spec.md +292 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/01_cover.svg +36 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/02_chapter.svg +23 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/02_toc.svg +42 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content.svg +28 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_architecture.svg +84 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_bullet.svg +77 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_cards.svg +123 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_comparison.svg +56 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_data.svg +69 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_gray.svg +34 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_image_full.svg +46 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_image_grid.svg +44 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_image_left.svg +43 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_logos.svg +86 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_table.svg +131 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/03_content_timeline.svg +82 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/04_ending.svg +26 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/content_bg.png +0 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/cover_bg.png +0 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/design_spec.md +134 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/ending_bg.png +0 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_000.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_001.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_002.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_003.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_004.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_005.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_006.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_007.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_008.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_009.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_010.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_011.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_012.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_013.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_014.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_015.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_016.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_017.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_018.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_019.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_020.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_021.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_022.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_023.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_024.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_025.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_026.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_027.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_028.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_029.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_030.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_031.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_032.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_033.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_034.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_035.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_036.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_037.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_038.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_039.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_040.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_041.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_042.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_043.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_044.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_045.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_046.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_047.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_048.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_049.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_050.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_051.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_052.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_053.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_054.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_055.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_056.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_057.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_058.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_059.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_060.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_061.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_062.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_063.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_064.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_065.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_066.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_067.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_068.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_069.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_070.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_071.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_072.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_073.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_074.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_075.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_076.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_077.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_078.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_079.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_080.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_081.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_082.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_083.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_084.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_085.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_086.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_087.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_088.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_089.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_090.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_091.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_092.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_093.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_094.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_095.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_096.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_097.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_098.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_099.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_100.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_101.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_102.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_103.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_104.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_105.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_106.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_107.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_108.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_109.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_110.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_111.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_112.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_113.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_114.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_115.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_116.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_117.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_118.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/icons/icon_119.svg +3 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/logo_full.png +0 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/logo_zhiqi.png +0 -0
- package/skills/ppt-master/templates/layouts/netease_zhiqi/toc_bg.png +0 -0
- package/skills/ppt-master/templates/layouts/pixel_retro/01_cover.svg +138 -0
- package/skills/ppt-master/templates/layouts/pixel_retro/02_chapter.svg +130 -0
- package/skills/ppt-master/templates/layouts/pixel_retro/02_toc.svg +130 -0
- package/skills/ppt-master/templates/layouts/pixel_retro/03_content.svg +50 -0
- package/skills/ppt-master/templates/layouts/pixel_retro/04_ending.svg +167 -0
- package/skills/ppt-master/templates/layouts/pixel_retro/design_spec.md +308 -0
- package/skills/ppt-master/templates/layouts/psychology_attachment/01_cover.svg +78 -0
- package/skills/ppt-master/templates/layouts/psychology_attachment/02_chapter.svg +82 -0
- package/skills/ppt-master/templates/layouts/psychology_attachment/02_toc.svg +115 -0
- package/skills/ppt-master/templates/layouts/psychology_attachment/03_content.svg +41 -0
- package/skills/ppt-master/templates/layouts/psychology_attachment/04_ending.svg +100 -0
- package/skills/ppt-master/templates/layouts/psychology_attachment/design_spec.md +394 -0
- package/skills/ppt-master/templates/layouts/smart_red/01_cover.svg +49 -0
- package/skills/ppt-master/templates/layouts/smart_red/02_chapter.svg +29 -0
- package/skills/ppt-master/templates/layouts/smart_red/02_toc.svg +59 -0
- package/skills/ppt-master/templates/layouts/smart_red/03_content.svg +59 -0
- package/skills/ppt-master/templates/layouts/smart_red/04_ending.svg +44 -0
- package/skills/ppt-master/templates/layouts/smart_red/design_spec.md +208 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204/01_cover.svg +100 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204/02_chapter.svg +81 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204/02_toc.svg +112 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204/03_content.svg +57 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204/04_ending.svg +92 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204/design_spec.md +209 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204//344/270/255/345/233/275/346/260/264/345/212/241logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204//345/215/216/344/270/234/351/231/242logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204//346/260/264/347/224/265/344/270/211/345/261/200logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204//347/224/265/345/273/272logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243/01_cover.svg +90 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243/02_chapter.svg +61 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243/02_toc.svg +131 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243/03_content.svg +77 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243/04_ending.svg +78 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243/design_spec.md +177 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243//344/270/255/345/233/275/346/260/264/345/212/241logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243//345/215/216/344/270/234/351/231/242logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243//346/260/264/347/224/265/344/270/211/345/261/200logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243//347/224/265/345/273/272logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241/01_cover.svg +83 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241/02_chapter.svg +55 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241/02_toc.svg +110 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241/03_content.svg +62 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241/04_ending.svg +60 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241/design_spec.md +166 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241//345/217/263/344/270/212/350/247/222 logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241//345/244/247/345/236/213 logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204/01_cover.svg +49 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204/02_chapter.svg +47 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204/02_toc.svg +73 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204/03_content.svg +57 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204/04_ending.svg +62 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204/design_spec.md +214 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204//345/217/263/344/270/212/350/247/222 logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204//345/244/247/345/236/213 logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243/01_cover.svg +89 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243/02_chapter.svg +55 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243/02_toc.svg +92 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243/03_content.svg +56 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243/04_ending.svg +64 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243/design_spec.md +170 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243//345/217/263/344/270/212/350/247/222 logo.png +0 -0
- package/skills/ppt-master/templates/layouts//344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243//345/244/247/345/236/213 logo.png +0 -0
- package/skills/ppt-master/templates/layouts//346/213/233/345/225/206/351/223/266/350/241/214/01_cover.svg +113 -0
- package/skills/ppt-master/templates/layouts//346/213/233/345/225/206/351/223/266/350/241/214/02_chapter.svg +90 -0
- package/skills/ppt-master/templates/layouts//346/213/233/345/225/206/351/223/266/350/241/214/02_toc.svg +108 -0
- package/skills/ppt-master/templates/layouts//346/213/233/345/225/206/351/223/266/350/241/214/03_content.svg +69 -0
- package/skills/ppt-master/templates/layouts//346/213/233/345/225/206/351/223/266/350/241/214/04_ending.svg +120 -0
- package/skills/ppt-master/templates/layouts//346/213/233/345/225/206/351/223/266/350/241/214/design_spec.md +209 -0
- package/skills/ppt-master/templates/layouts//346/213/233/345/225/206/351/223/266/350/241/214//346/213/233/345/225/206/351/223/266/350/241/214/345/205/254/345/217/270/351/207/221/350/236/215.png +0 -0
- package/skills/ppt-master/templates/layouts//347/247/221/346/212/200/350/223/235/345/225/206/345/212/241/01_cover.svg +52 -0
- package/skills/ppt-master/templates/layouts//347/247/221/346/212/200/350/223/235/345/225/206/345/212/241/02_chapter.svg +50 -0
- package/skills/ppt-master/templates/layouts//347/247/221/346/212/200/350/223/235/345/225/206/345/212/241/02_toc.svg +67 -0
- package/skills/ppt-master/templates/layouts//347/247/221/346/212/200/350/223/235/345/225/206/345/212/241/03_content.svg +28 -0
- package/skills/ppt-master/templates/layouts//347/247/221/346/212/200/350/223/235/345/225/206/345/212/241/04_ending.svg +52 -0
- package/skills/ppt-master/templates/layouts//347/247/221/346/212/200/350/223/235/345/225/206/345/212/241/design_spec.md +206 -0
- package/skills/ppt-master/templates/layouts//351/207/215/345/272/206/345/244/247/345/255/246/01_cover.svg +74 -0
- package/skills/ppt-master/templates/layouts//351/207/215/345/272/206/345/244/247/345/255/246/02_chapter.svg +52 -0
- package/skills/ppt-master/templates/layouts//351/207/215/345/272/206/345/244/247/345/255/246/02_toc.svg +80 -0
- package/skills/ppt-master/templates/layouts//351/207/215/345/272/206/345/244/247/345/255/246/03_content.svg +56 -0
- package/skills/ppt-master/templates/layouts//351/207/215/345/272/206/345/244/247/345/255/246/04_ending.svg +62 -0
- package/skills/ppt-master/templates/layouts//351/207/215/345/272/206/345/244/247/345/255/246/design_spec.md +243 -0
- package/skills/ppt-master/templates/layouts//351/207/215/345/272/206/345/244/247/345/255/246//351/207/215/345/272/206/345/244/247/345/255/246logo.png +0 -0
- package/skills/ppt-master/templates/layouts//351/207/215/345/272/206/345/244/247/345/255/246//351/207/215/345/272/206/345/244/247/345/255/246logo2.png +0 -0
- package/skills/ppt-master/workflows/create-template.md +173 -0
- package/skills/speed-to-text/SKILL.md +64 -0
- package/skills/tencent-meeting/SKILL.md +65 -0
- package/skills/yidun-skill-sec/SKILL.md +838 -0
- package/skills/smart-customer-service/docs//344/270/212/347/272/277/350/257/225/350/277/220/350/241/214/346/235/220/346/226/231.zip +0 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
> See shared-standards.md for common technical constraints.
|
|
2
|
+
|
|
3
|
+
# Image Layout Specification (Mandatory)
|
|
4
|
+
|
|
5
|
+
Layout rules for pages containing images. Both the Strategist planning phase and Executor generation phase must follow these rules.
|
|
6
|
+
|
|
7
|
+
**Core principle: Calculate layout based on the image's original aspect ratio, ensuring the image is displayed completely without excess whitespace or cropping.**
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Layout Decision Flow
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
1. Get image original dimensions → Calculate ratio (width/height)
|
|
15
|
+
2. Select layout type based on ratio
|
|
16
|
+
3. Calculate maximum display size for the image
|
|
17
|
+
4. Allocate remaining space for text area
|
|
18
|
+
5. Fill results into the Design Specification's image resource list
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**When to execute**: If the image approach includes "B) User-provided", after the Strategist completes the Eight Confirmations and before content analysis and outlining, the scan must be run and the image resource list populated.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Layout Type Selection (Mandatory)
|
|
26
|
+
|
|
27
|
+
| Image Ratio | Layout Type | Image Position | Description |
|
|
28
|
+
|-------------|-------------|----------------|-------------|
|
|
29
|
+
| > 2.0 (ultra-wide) | Top-bottom split | Top full-width | Image spans canvas width, height proportional |
|
|
30
|
+
| 1.5-2.0 (wide) | Top-bottom split | Top | Image width = content area width, height proportional |
|
|
31
|
+
| 1.2-1.5 (standard) | Left-right split | Left | Image height-first fit, width proportional |
|
|
32
|
+
| 0.8-1.2 (square) | Left-right split | Left | Image takes content area height, width proportional |
|
|
33
|
+
| < 0.8 (portrait) | Left-right split | Left | Image height = content area height, width proportional |
|
|
34
|
+
|
|
35
|
+
> Edge cases: When ratio is at a boundary (e.g., 1.5), decide based on text volume. More text → left-right; less text → top-bottom.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Dimension Calculation Formulas
|
|
40
|
+
|
|
41
|
+
### PPT 16:9 (1280x720) Canvas Parameters
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
Canvas: 1280 x 720 px
|
|
45
|
+
Content area: 1160 x 640 px (left/right margin 60px, top/bottom margin 40px)
|
|
46
|
+
Title area height: 60 px
|
|
47
|
+
Content start: y = 80 px (title + spacing)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Top-Bottom Layout Calculation
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
Image width = W = 1160 px
|
|
54
|
+
Image height = W / R = 1160 / R px
|
|
55
|
+
Text area height = H - image height - gap(20px)
|
|
56
|
+
|
|
57
|
+
Validation: Text area height >= 150px (at least 3-4 lines of text)
|
|
58
|
+
If not satisfied → Switch to left-right layout
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Left-Right Layout Calculation
|
|
62
|
+
|
|
63
|
+
**Method 1 (height-first, suitable for portrait images)**:
|
|
64
|
+
```
|
|
65
|
+
Image height = H = 600 px
|
|
66
|
+
Image width = H x R = 600 x R px
|
|
67
|
+
Text area width = W - image width - gap(20px)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Method 2 (width-constrained, for wide images converted to left-right)**:
|
|
71
|
+
```
|
|
72
|
+
Image width = W x 0.7 = 812 px
|
|
73
|
+
Image height = image width / R
|
|
74
|
+
Text area width = W - image width - gap(20px)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Validation**: Text area width >= 280px; otherwise reduce image area width.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Layout Examples
|
|
82
|
+
|
|
83
|
+
### Ultra-wide Image (ratio 2.45)
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Original: 1960x800, R=2.45 → Top-bottom split
|
|
87
|
+
Image: 1160x473, Text area: 1160x147 → 7:3 top-bottom
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Standard Landscape (ratio 1.38)
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Original: 1614x1171, R=1.38 → Left-right split
|
|
94
|
+
Image: 773x560 (left), Text area: 367x560 (right) → 7:3 left-right
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Wide Image Edge Case (ratio 1.75)
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
Original: 1820x1040, R=1.75
|
|
101
|
+
Try top-bottom: image height=663, text area=-43 ❌
|
|
102
|
+
Switch to left-right: image 780x446 (left), text area 360x600 (right) → 7:3 left-right
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Prohibited Practices
|
|
108
|
+
|
|
109
|
+
| Prohibited | Correct Approach |
|
|
110
|
+
|-----------|-----------------|
|
|
111
|
+
| Fixed 50:50 or arbitrary ratios | Dynamic calculation based on image ratio |
|
|
112
|
+
| Forcing wide image into square container | Use top-bottom layout or increase image area width |
|
|
113
|
+
| Placing portrait image in narrow horizontal strip | Use left-right layout, image on left |
|
|
114
|
+
| Image whitespace exceeding 10% | Recalculate layout or choose alternative approach |
|
|
115
|
+
| Cropping key image content | Use `preserveAspectRatio="xMidYMid meet"` |
|
|
116
|
+
| Text area too small to read | Ensure text area >= 150px (top-bottom) or >= 280px (left-right) |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## SVG Image Embedding Code
|
|
121
|
+
|
|
122
|
+
### Complete Display (recommended for data charts)
|
|
123
|
+
|
|
124
|
+
```xml
|
|
125
|
+
<image href="../images/xxx.png"
|
|
126
|
+
x="60" y="80" width="780" height="446"
|
|
127
|
+
preserveAspectRatio="xMidYMid meet"/>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Crop-to-Fill (backgrounds only)
|
|
131
|
+
|
|
132
|
+
```xml
|
|
133
|
+
<image href="../images/bg.png"
|
|
134
|
+
x="0" y="0" width="1280" height="720"
|
|
135
|
+
preserveAspectRatio="xMidYMid slice"/>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Image Resource List Template
|
|
141
|
+
|
|
142
|
+
In the Design Specification & Content Outline, the image resource list must include:
|
|
143
|
+
|
|
144
|
+
| Field | Description | Example |
|
|
145
|
+
|-------|-------------|---------|
|
|
146
|
+
| Filename | Image filename | `p12_0.png` |
|
|
147
|
+
| Original dimensions | Width x Height | 1524x968 |
|
|
148
|
+
| Ratio | Width / Height | 1.57 |
|
|
149
|
+
| Page | Usage page number | Page 5 |
|
|
150
|
+
| Type | Visual type | Background / Photography / Illustration / Diagram / Decorative |
|
|
151
|
+
| Layout plan | Top-bottom/Left-right + split ratio | Top-bottom 6:4 or Left-right 7:3 |
|
|
152
|
+
| Image area | Image display dimensions | 1160x420 or 780x446 |
|
|
153
|
+
| Text area | Remaining space dimensions | 1160x200 or 360x600 |
|
|
154
|
+
|
|
155
|
+
**The Type field is used by Image_Generator to select the appropriate prompt strategy.**
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Automation Tool
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
python3 scripts/analyze_images.py <project_path>/images
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Output includes dimensions, ratios, and layout recommendations (Markdown table), which can be directly used to populate the image resource list.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Role Responsibilities
|
|
170
|
+
|
|
171
|
+
| Role | Responsibility |
|
|
172
|
+
|------|---------------|
|
|
173
|
+
| **Strategist** | Run analyze_images.py, calculate layout per this spec, populate image resource list |
|
|
174
|
+
| **Executor** | Strictly follow the layout plan and dimensions in the image resource list when generating SVGs |
|
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
# Shared Technical Standards
|
|
2
|
+
|
|
3
|
+
Common technical constraints for PPT Master, eliminating cross-role file duplication.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. SVG Banned Features Blacklist
|
|
8
|
+
|
|
9
|
+
The following features are **absolutely forbidden** when generating SVGs — PPT export will break if any are used:
|
|
10
|
+
|
|
11
|
+
| Banned Feature | Description |
|
|
12
|
+
|----------------|-------------|
|
|
13
|
+
| `clipPath` | Clipping paths |
|
|
14
|
+
| `mask` | Masks |
|
|
15
|
+
| `<style>` | Embedded stylesheets |
|
|
16
|
+
| `class` | CSS selector attributes (`id` inside `<defs>` is a legitimate reference and is NOT banned) |
|
|
17
|
+
| External CSS | External stylesheet links |
|
|
18
|
+
| `<foreignObject>` | Embedded external content |
|
|
19
|
+
| `<symbol>` + `<use>` | Symbol reference reuse |
|
|
20
|
+
| `textPath` | Text along a path |
|
|
21
|
+
| `@font-face` | Custom font declarations |
|
|
22
|
+
| `<animate*>` / `<set>` | SVG animations |
|
|
23
|
+
| `<script>` / event attributes | Scripts and interactivity |
|
|
24
|
+
| `marker` / `marker-end` | Line endpoint markers |
|
|
25
|
+
| `<iframe>` | Embedded frames |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2. PPT Compatibility Alternatives
|
|
30
|
+
|
|
31
|
+
| Banned Syntax | Correct Alternative |
|
|
32
|
+
|---------------|---------------------|
|
|
33
|
+
| `fill="rgba(255,255,255,0.1)"` | `fill="#FFFFFF" fill-opacity="0.1"` |
|
|
34
|
+
| `<g opacity="0.2">...</g>` | Set `fill-opacity` / `stroke-opacity` on each child element individually |
|
|
35
|
+
| `<image opacity="0.3"/>` | Overlay a `<rect fill="background-color" opacity="0.7"/>` mask layer after the image |
|
|
36
|
+
| `marker-end` arrows | Draw triangle arrows with `<polygon>` |
|
|
37
|
+
|
|
38
|
+
**Mnemonic**: PPT does not recognize rgba, group opacity, image opacity, or markers.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. Canvas Format Quick Reference
|
|
43
|
+
|
|
44
|
+
### Presentations
|
|
45
|
+
|
|
46
|
+
| Format | viewBox | Dimensions | Ratio |
|
|
47
|
+
|--------|---------|------------|-------|
|
|
48
|
+
| PPT 16:9 | `0 0 1280 720` | 1280x720 | 16:9 |
|
|
49
|
+
| PPT 4:3 | `0 0 1024 768` | 1024x768 | 4:3 |
|
|
50
|
+
|
|
51
|
+
### Social Media
|
|
52
|
+
|
|
53
|
+
| Format | viewBox | Dimensions | Ratio |
|
|
54
|
+
|--------|---------|------------|-------|
|
|
55
|
+
| Xiaohongshu (RED) | `0 0 1242 1660` | 1242x1660 | 3:4 |
|
|
56
|
+
| WeChat Moments / Instagram Post | `0 0 1080 1080` | 1080x1080 | 1:1 |
|
|
57
|
+
| Story / TikTok Vertical | `0 0 1080 1920` | 1080x1920 | 9:16 |
|
|
58
|
+
|
|
59
|
+
### Marketing Materials
|
|
60
|
+
|
|
61
|
+
| Format | viewBox | Dimensions | Ratio |
|
|
62
|
+
|--------|---------|------------|-------|
|
|
63
|
+
| WeChat Article Header | `0 0 900 383` | 900x383 | 2.35:1 |
|
|
64
|
+
| Landscape Banner | `0 0 1920 1080` | 1920x1080 | 16:9 |
|
|
65
|
+
| Portrait Poster | `0 0 1080 1920` | 1080x1920 | 9:16 |
|
|
66
|
+
| A4 Print (150dpi) | `0 0 1240 1754` | 1240x1754 | 1:1.414 |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 4. Basic SVG Rules
|
|
71
|
+
|
|
72
|
+
- **viewBox** must match the canvas dimensions (`width`/`height` must match `viewBox`)
|
|
73
|
+
- **Background**: Use `<rect>` to define the page background color
|
|
74
|
+
- **Line breaks**: Use `<tspan>` for manual line breaks; `<foreignObject>` is FORBIDDEN
|
|
75
|
+
- **Fonts**: Use system fonts only (Microsoft YaHei, Arial, Calibri, etc.); `@font-face` is FORBIDDEN
|
|
76
|
+
- **Styles**: Use inline styles only (`fill="..."` `font-size="..."`); `<style>` / `class` are FORBIDDEN (`id` inside `<defs>` is legitimate)
|
|
77
|
+
- **Colors**: Use HEX values; for transparency use `fill-opacity` / `stroke-opacity`
|
|
78
|
+
- **Image references**: `<image href="../images/xxx.png" preserveAspectRatio="xMidYMid slice"/>`
|
|
79
|
+
- **Icon placeholders**: `<use data-icon="icon-name" x="" y="" width="48" height="48" fill="#HEX"/>` (auto-embedded during post-processing)
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 5. Post-processing Pipeline (3 Steps)
|
|
84
|
+
|
|
85
|
+
Must be executed in order — skipping or adding extra flags is FORBIDDEN:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# 1. Split speaker notes into per-page note files
|
|
89
|
+
python3 scripts/total_md_split.py <project_path>
|
|
90
|
+
|
|
91
|
+
# 2. SVG post-processing (icon embedding, image crop/embed, text flattening, rounded rect to path)
|
|
92
|
+
python3 scripts/finalize_svg.py <project_path>
|
|
93
|
+
|
|
94
|
+
# 3. Export PPTX (from svg_final/, embeds speaker notes by default)
|
|
95
|
+
python3 scripts/svg_to_pptx.py <project_path> -s final
|
|
96
|
+
# Default: generates native shapes (.pptx) + SVG reference (_svg.pptx)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Prohibited**:
|
|
100
|
+
- NEVER use `cp` as a substitute for `finalize_svg.py`
|
|
101
|
+
- NEVER export directly from `svg_output/` — MUST export from `svg_final/` (use `-s final`)
|
|
102
|
+
- NEVER add extra flags like `--only`
|
|
103
|
+
|
|
104
|
+
**Re-run rule**: Any modification to `svg_output/` after post-processing has completed (including page revisions, additions, or deletions) requires re-running Steps 2 and 3. Step 1 only needs re-running if `notes/total.md` was also modified.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 6. Shadow & Overlay Techniques
|
|
109
|
+
|
|
110
|
+
> `<mask>` elements and `<image opacity="...">` are banned. Always use stacked `<rect>` or gradient overlays instead (see §2).
|
|
111
|
+
|
|
112
|
+
### Shadow
|
|
113
|
+
|
|
114
|
+
#### Filter Soft Shadow — Recommended
|
|
115
|
+
|
|
116
|
+
Best for: cards, floating panels, elevated elements. The `svg_to_pptx` converter automatically converts `feGaussianBlur` + `feOffset` into native PPTX `<a:outerShdw>`.
|
|
117
|
+
|
|
118
|
+
```xml
|
|
119
|
+
<defs>
|
|
120
|
+
<filter id="softShadow" x="-15%" y="-15%" width="140%" height="140%">
|
|
121
|
+
<feGaussianBlur in="SourceAlpha" stdDeviation="12"/>
|
|
122
|
+
<feOffset dx="0" dy="6" result="offsetBlur"/>
|
|
123
|
+
<feFlood flood-color="#000000" flood-opacity="0.15" result="shadowColor"/>
|
|
124
|
+
<feComposite in="shadowColor" in2="offsetBlur" operator="in" result="shadow"/>
|
|
125
|
+
<feMerge>
|
|
126
|
+
<feMergeNode in="shadow"/>
|
|
127
|
+
<feMergeNode in="SourceGraphic"/>
|
|
128
|
+
</feMerge>
|
|
129
|
+
</filter>
|
|
130
|
+
</defs>
|
|
131
|
+
<rect x="60" y="60" width="400" height="240" rx="12" fill="#FFFFFF" filter="url(#softShadow)"/>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Recommended parameters:
|
|
135
|
+
```
|
|
136
|
+
stdDeviation: 10–16 (smaller = crisper, larger = softer)
|
|
137
|
+
flood-opacity: 0.12–0.20 (too low will be invisible in PPTX)
|
|
138
|
+
dy: 4–8 (vertical > horizontal for natural top-light)
|
|
139
|
+
dx: 0–2
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
#### Colored Shadow
|
|
143
|
+
|
|
144
|
+
Best for: accent buttons, brand-colored cards. Use the element's own color family instead of black.
|
|
145
|
+
|
|
146
|
+
```xml
|
|
147
|
+
<filter id="colorShadow" x="-15%" y="-15%" width="140%" height="140%">
|
|
148
|
+
<feGaussianBlur in="SourceAlpha" stdDeviation="10"/>
|
|
149
|
+
<feOffset dx="0" dy="6" result="offsetBlur"/>
|
|
150
|
+
<feFlood flood-color="#1A73E8" flood-opacity="0.20" result="shadowColor"/>
|
|
151
|
+
<feComposite in="shadowColor" in2="offsetBlur" operator="in" result="shadow"/>
|
|
152
|
+
<feMerge>
|
|
153
|
+
<feMergeNode in="shadow"/>
|
|
154
|
+
<feMergeNode in="SourceGraphic"/>
|
|
155
|
+
</feMerge>
|
|
156
|
+
</filter>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Replace `flood-color` with the element's brand color; keep `flood-opacity` between 0.15–0.25.
|
|
160
|
+
|
|
161
|
+
#### Glow Effect
|
|
162
|
+
|
|
163
|
+
Best for: title highlights, key metrics, hero text. The converter automatically converts `feGaussianBlur` without `feOffset` into native PPTX `<a:glow>`.
|
|
164
|
+
|
|
165
|
+
```xml
|
|
166
|
+
<defs>
|
|
167
|
+
<filter id="titleGlow" x="-30%" y="-30%" width="160%" height="160%">
|
|
168
|
+
<feGaussianBlur in="SourceAlpha" stdDeviation="6" result="blur"/>
|
|
169
|
+
<feFlood flood-color="#1A73E8" flood-opacity="0.45" result="glowColor"/>
|
|
170
|
+
<feComposite in="glowColor" in2="blur" operator="in" result="glow"/>
|
|
171
|
+
<feMerge>
|
|
172
|
+
<feMergeNode in="glow"/>
|
|
173
|
+
<feMergeNode in="SourceGraphic"/>
|
|
174
|
+
</feMerge>
|
|
175
|
+
</filter>
|
|
176
|
+
</defs>
|
|
177
|
+
<text x="640" y="360" text-anchor="middle" font-size="48" fill="#1A73E8" filter="url(#titleGlow)">Key Insight</text>
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Recommended parameters:
|
|
181
|
+
```
|
|
182
|
+
stdDeviation: 4–8 (smaller = subtle, larger = prominent)
|
|
183
|
+
flood-color: brand color or accent color (NOT black)
|
|
184
|
+
flood-opacity: 0.35–0.55 (stronger than shadow for visibility)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Key difference from shadow**: No `<feOffset>` element (or dx=0/dy=0). The converter uses this to distinguish glow from shadow.
|
|
188
|
+
|
|
189
|
+
#### Layered Rect Shadow — High-Compatibility Fallback
|
|
190
|
+
|
|
191
|
+
Best for: maximum compatibility with older PowerPoint versions. Stack 2–3 semi-transparent rectangles behind the main card:
|
|
192
|
+
|
|
193
|
+
```xml
|
|
194
|
+
<!-- Shadow layers (back to front, largest offset first) -->
|
|
195
|
+
<rect x="68" y="72" width="400" height="240" rx="16" fill="#000000" fill-opacity="0.03"/>
|
|
196
|
+
<rect x="65" y="69" width="400" height="240" rx="14" fill="#000000" fill-opacity="0.05"/>
|
|
197
|
+
<rect x="62" y="66" width="400" height="240" rx="12" fill="#1A73E8" fill-opacity="0.04"/>
|
|
198
|
+
<!-- Main card -->
|
|
199
|
+
<rect x="60" y="60" width="400" height="240" rx="12" fill="#FFFFFF"/>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Image Overlay
|
|
203
|
+
|
|
204
|
+
#### Linear Gradient Overlay — Most Common
|
|
205
|
+
|
|
206
|
+
Best for: image+text pages. Gradient direction should match text position (text on left → gradient darkens toward left).
|
|
207
|
+
|
|
208
|
+
```xml
|
|
209
|
+
<image href="..." x="0" y="0" width="1280" height="720" preserveAspectRatio="xMidYMid slice"/>
|
|
210
|
+
<defs>
|
|
211
|
+
<linearGradient id="imgOverlay" x1="0" y1="0" x2="1" y2="0">
|
|
212
|
+
<stop offset="0%" stop-color="#1A1A2E" stop-opacity="0.85"/>
|
|
213
|
+
<stop offset="55%" stop-color="#1A1A2E" stop-opacity="0.30"/>
|
|
214
|
+
<stop offset="100%" stop-color="#1A1A2E" stop-opacity="0"/>
|
|
215
|
+
</linearGradient>
|
|
216
|
+
</defs>
|
|
217
|
+
<rect x="0" y="0" width="1280" height="720" fill="url(#imgOverlay)"/>
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
#### Bottom Gradient Bar
|
|
221
|
+
|
|
222
|
+
Best for: cover slides and full-image pages with bottom title.
|
|
223
|
+
|
|
224
|
+
```xml
|
|
225
|
+
<defs>
|
|
226
|
+
<linearGradient id="bottomBar" x1="0" y1="0" x2="0" y2="1">
|
|
227
|
+
<stop offset="0%" stop-color="#000000" stop-opacity="0"/>
|
|
228
|
+
<stop offset="100%" stop-color="#000000" stop-opacity="0.72"/>
|
|
229
|
+
</linearGradient>
|
|
230
|
+
</defs>
|
|
231
|
+
<rect x="0" y="380" width="1280" height="340" fill="url(#bottomBar)"/>
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
#### Radial Gradient Overlay — Vignette Effect
|
|
235
|
+
|
|
236
|
+
Best for: full-screen atmosphere slides; draws attention to the center.
|
|
237
|
+
|
|
238
|
+
```xml
|
|
239
|
+
<defs>
|
|
240
|
+
<radialGradient id="vignette" cx="50%" cy="50%" r="70%">
|
|
241
|
+
<stop offset="0%" stop-color="#000000" stop-opacity="0"/>
|
|
242
|
+
<stop offset="100%" stop-color="#000000" stop-opacity="0.58"/>
|
|
243
|
+
</radialGradient>
|
|
244
|
+
</defs>
|
|
245
|
+
<rect x="0" y="0" width="1280" height="720" fill="url(#vignette)"/>
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
#### Brand Color Overlay
|
|
249
|
+
|
|
250
|
+
Best for: slides needing strong visual brand identity.
|
|
251
|
+
|
|
252
|
+
```xml
|
|
253
|
+
<defs>
|
|
254
|
+
<linearGradient id="brandOverlay" x1="0" y1="0" x2="1" y2="0">
|
|
255
|
+
<stop offset="0%" stop-color="#005587" stop-opacity="0.80"/>
|
|
256
|
+
<stop offset="100%" stop-color="#005587" stop-opacity="0.10"/>
|
|
257
|
+
</linearGradient>
|
|
258
|
+
</defs>
|
|
259
|
+
<rect x="0" y="0" width="1280" height="720" fill="url(#brandOverlay)"/>
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Quick-Reference Table
|
|
263
|
+
|
|
264
|
+
| Scenario | Recommended Technique | Avoid |
|
|
265
|
+
|----------|-----------------------|-------|
|
|
266
|
+
| Card / panel shadow | Filter soft shadow (`flood-opacity` ≤ 0.12) | Hard black shadow |
|
|
267
|
+
| Accent / CTA button | Colored shadow (same hue family) | Generic gray shadow |
|
|
268
|
+
| Title / metric highlight | Glow filter (brand color, no offset) | Overuse on body text |
|
|
269
|
+
| Text over image | Linear gradient overlay (direction matches text side) | Uniform flat opacity over whole image |
|
|
270
|
+
| Cover / full-image slide | Bottom gradient bar + brand color | Solid black overlay |
|
|
271
|
+
| Atmosphere / hero slide | Radial vignette | Unprocessed raw image |
|
|
272
|
+
| Max PPT compatibility needed | Layered rect shadow | Filter-based shadow |
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 7. Stroke, Text & Shape Effects
|
|
277
|
+
|
|
278
|
+
### stroke-dasharray — Dashed / Dotted Lines
|
|
279
|
+
|
|
280
|
+
Converts to native PPTX `<a:prstDash>`. Use preset patterns for best results:
|
|
281
|
+
|
|
282
|
+
| SVG Value | PPTX Preset | Best For |
|
|
283
|
+
|-----------|-------------|----------|
|
|
284
|
+
| `4,4` | Dash | General dashed lines, separators |
|
|
285
|
+
| `2,2` | Dot (sysDot) | Subtle dotted borders, placeholder outlines |
|
|
286
|
+
| `8,4` | Long dash | Timeline connectors, flow arrows |
|
|
287
|
+
| `8,4,2,4` | Long dash-dot | Technical drawings, dimension lines |
|
|
288
|
+
|
|
289
|
+
```xml
|
|
290
|
+
<rect x="60" y="60" width="400" height="240" rx="12"
|
|
291
|
+
fill="none" stroke="#999999" stroke-width="2" stroke-dasharray="4,4"/>
|
|
292
|
+
|
|
293
|
+
<line x1="100" y1="360" x2="1180" y2="360"
|
|
294
|
+
stroke="#CCCCCC" stroke-width="1" stroke-dasharray="2,2"/>
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### stroke-linejoin
|
|
298
|
+
|
|
299
|
+
Controls how line segments join at corners. Supported values convert to native PPTX line join types:
|
|
300
|
+
|
|
301
|
+
| SVG Value | PPTX Equivalent | Best For |
|
|
302
|
+
|-----------|-----------------|----------|
|
|
303
|
+
| `round` | Round join | Smooth polyline charts, organic shapes |
|
|
304
|
+
| `bevel` | Bevel join | Technical diagrams |
|
|
305
|
+
| `miter` | Miter join (default) | Sharp-cornered rectangles, arrows |
|
|
306
|
+
|
|
307
|
+
```xml
|
|
308
|
+
<polyline points="100,200 200,100 300,200" fill="none"
|
|
309
|
+
stroke="#1A73E8" stroke-width="3" stroke-linejoin="round"/>
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### text-decoration
|
|
313
|
+
|
|
314
|
+
Supported text decorations convert to native PPTX text formatting:
|
|
315
|
+
|
|
316
|
+
| SVG Value | PPTX Equivalent | Best For |
|
|
317
|
+
|-----------|-----------------|----------|
|
|
318
|
+
| `underline` | Single underline | Emphasis, links, key terms |
|
|
319
|
+
| `line-through` | Strikethrough | Removed items, before/after comparisons |
|
|
320
|
+
|
|
321
|
+
```xml
|
|
322
|
+
<text x="100" y="200" font-size="20" fill="#333333" text-decoration="underline">Important Term</text>
|
|
323
|
+
|
|
324
|
+
<!-- Per-tspan decoration -->
|
|
325
|
+
<text x="100" y="240" font-size="18" fill="#333333">
|
|
326
|
+
Regular text <tspan text-decoration="line-through" fill="#999999">old value</tspan> new value
|
|
327
|
+
</text>
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### Gradient Fill — linearGradient & radialGradient
|
|
331
|
+
|
|
332
|
+
Gradients defined in `<defs>` and referenced via `fill="url(#id)"` convert to native PPTX `<a:gradFill>`. Use them as shape fills (not just overlays) for polished surfaces.
|
|
333
|
+
|
|
334
|
+
**Linear gradient** — best for buttons, header bars, background panels:
|
|
335
|
+
|
|
336
|
+
```xml
|
|
337
|
+
<defs>
|
|
338
|
+
<linearGradient id="btnGrad" x1="0" y1="0" x2="1" y2="0">
|
|
339
|
+
<stop offset="0%" stop-color="#1A73E8"/>
|
|
340
|
+
<stop offset="100%" stop-color="#0D47A1"/>
|
|
341
|
+
</linearGradient>
|
|
342
|
+
</defs>
|
|
343
|
+
<rect x="540" y="600" width="200" height="48" rx="24" fill="url(#btnGrad)"/>
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
**Radial gradient** — best for spotlight backgrounds, circular accents:
|
|
347
|
+
|
|
348
|
+
```xml
|
|
349
|
+
<defs>
|
|
350
|
+
<radialGradient id="spotBg" cx="50%" cy="50%" r="70%">
|
|
351
|
+
<stop offset="0%" stop-color="#1A73E8" stop-opacity="0.15"/>
|
|
352
|
+
<stop offset="100%" stop-color="#1A73E8" stop-opacity="0"/>
|
|
353
|
+
</radialGradient>
|
|
354
|
+
</defs>
|
|
355
|
+
<circle cx="640" cy="360" r="300" fill="url(#spotBg)"/>
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
### transform: rotate — Element Rotation
|
|
359
|
+
|
|
360
|
+
Rotation converts to native PPTX `<a:xfrm rot="...">`. Supported on all element types: `rect`, `circle`, `ellipse`, `line`, `path`, `polygon`, `polyline`, `image`, and `text`.
|
|
361
|
+
|
|
362
|
+
```xml
|
|
363
|
+
<!-- Rotated decorative element -->
|
|
364
|
+
<rect x="100" y="100" width="60" height="60" fill="#1A73E8" fill-opacity="0.1"
|
|
365
|
+
transform="rotate(45, 130, 130)"/>
|
|
366
|
+
|
|
367
|
+
<!-- Rotated text label -->
|
|
368
|
+
<text x="50" y="400" font-size="14" fill="#999999"
|
|
369
|
+
transform="rotate(-90, 50, 400)">Y-Axis Label</text>
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
**Syntax**: `rotate(angle)` or `rotate(angle, cx, cy)` where `cx,cy` is the rotation center. Positive angles rotate clockwise.
|
|
373
|
+
|
|
374
|
+
### Arc Paths — Donut / Pie Charts
|
|
375
|
+
|
|
376
|
+
When drawing donut or pie chart sectors with `<path>`, the arc endpoint coordinates must be calculated precisely using trigonometry. **Never estimate or approximate arc endpoints** — even small errors produce wildly incorrect shapes.
|
|
377
|
+
|
|
378
|
+
**Calculation formula** (center `cx,cy`, radius `r`, angle `θ` in degrees):
|
|
379
|
+
```
|
|
380
|
+
x = cx + r × cos(θ × π / 180)
|
|
381
|
+
y = cy + r × sin(θ × π / 180)
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
**Key rules**:
|
|
385
|
+
1. Start at **-90°** (12 o'clock position) and go clockwise
|
|
386
|
+
2. Each sector spans `percentage × 360°`
|
|
387
|
+
3. Use **large-arc flag = 1** when the sector is > 180°, **0** otherwise
|
|
388
|
+
4. sweep-direction = 1 (clockwise) for outer arc, 0 (counter-clockwise) for inner arc returning
|
|
389
|
+
5. **Always verify** that the sum of all sector angles equals 360° and that the last sector's end point matches the first sector's start point
|
|
390
|
+
|
|
391
|
+
**Example — 75% donut sector** (center 400,400, outer r=180, inner r=100):
|
|
392
|
+
```
|
|
393
|
+
Start angle: -90° → outer(400, 220), inner(400, 300)
|
|
394
|
+
End angle: -90+270=180° → outer(220, 400), inner(300, 400)
|
|
395
|
+
Large-arc flag: 1 (270° > 180°)
|
|
396
|
+
|
|
397
|
+
<path d="M 400,220 A 180,180 0 1,1 220,400 L 300,400 A 100,100 0 1,0 400,300 Z"/>
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### Polygon Arrows on Diagonal Lines
|
|
401
|
+
|
|
402
|
+
When using `<polygon>` triangles as arrowheads (since `marker-end` is banned), arrows on **horizontal or vertical lines** can use simple point offsets. But arrows on **diagonal lines** must have their triangle vertices rotated to match the line direction.
|
|
403
|
+
|
|
404
|
+
**Method**: Calculate the triangle points using the line's direction vector:
|
|
405
|
+
|
|
406
|
+
```
|
|
407
|
+
Given line from (x1,y1) to (x2,y2):
|
|
408
|
+
1. Direction vector: dx = x2-x1, dy = y2-y1
|
|
409
|
+
2. Normalize: len = √(dx²+dy²), ux = dx/len, uy = dy/len
|
|
410
|
+
3. Perpendicular: px = -uy, py = ux
|
|
411
|
+
4. Arrow tip = (x2, y2)
|
|
412
|
+
5. Back point 1 = (x2 - ux×12 + px×5, y2 - uy×12 + py×5)
|
|
413
|
+
6. Back point 2 = (x2 - ux×12 - px×5, y2 - uy×12 - py×5)
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
**Example — diagonal line** from (260,310) to (370,430):
|
|
417
|
+
```
|
|
418
|
+
dx=110, dy=120, len≈162.8, ux=0.676, uy=0.737
|
|
419
|
+
px=-0.737, py=0.676
|
|
420
|
+
Tip: (370, 430)
|
|
421
|
+
Back1: (370-8.1-3.7, 430-8.8+3.4) = (358.2, 424.6)
|
|
422
|
+
Back2: (370-8.1+3.7, 430-8.8-3.4) = (365.6, 417.8)
|
|
423
|
+
|
|
424
|
+
<polygon points="370,430 365.6,417.8 358.2,424.6" fill="#C8A96E"/>
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
⚠️ **Never use a fixed downward/rightward triangle on a diagonal line** — the arrow will point in the wrong direction.
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## 8. Project Directory Structure
|
|
432
|
+
|
|
433
|
+
```
|
|
434
|
+
project/
|
|
435
|
+
├── svg_output/ # Raw SVGs (Executor output, contains placeholders)
|
|
436
|
+
├── svg_final/ # Post-processed final SVGs (finalize_svg.py output)
|
|
437
|
+
├── images/ # Image assets (user-provided + AI-generated)
|
|
438
|
+
├── notes/ # Speaker notes (.md files matching SVG names)
|
|
439
|
+
│ └── total.md # Complete speaker notes document (before splitting)
|
|
440
|
+
├── templates/ # Project templates (if any)
|
|
441
|
+
└── *.pptx # Exported PPT file
|
|
442
|
+
```
|