本文へ移動
cccskills
無料GitHub で公開

figedit-v2

将位图图形重建为高保真可编辑 SVG 与原生 PowerPoint,支持仅文字可编辑、文字/结构/公式可编辑、源图素材保真混合、选择性或完整前景拆分,以及复杂连续背景的 AI 清版底重建。

当用户希望把截图、论文插图、流程图、架构图、信息图、UI、图表/地图、海报或封面转成可编辑图形,或提到“图片转可编辑 SVG/PPT”“仅文字可编辑”“图表重建”“FigEdit”时使用。

インストール方法を見る

含まれるファイル(200)

  • SKILL.md17.0 KB
  • .gitignore422 B
  • assets/examples/01-slide-layout.png5.4 MB
  • assets/examples/02-icon-diagram.png2.0 MB
  • assets/examples/03-vector-redraw.png3.2 MB
  • assets/examples/04-raster-assets.png5.4 MB
  • assets/examples/05-mixed-reconstruction.png1.9 MB
  • assets/examples/06-formula-reconstruction.png1.4 MB
  • assets/examples/07-camera-grid-rendering.png2.0 MB
  • assets/examples/08-llm-performance-evaluation.png2.1 MB
  • assets/examples/09-sciscover-cover.png5.8 MB
  • assets/examples/10-esa-iss-pillars.png6.9 MB
  • assets/examples/ast-reveal/editability_report.md3.4 KB
  • assets/examples/ast-reveal/editable_embedded.svg223.4 KB
  • assets/examples/ast-reveal/editable.pptx44.6 KB
  • assets/examples/ast-reveal/editable.svg223.4 KB
  • assets/examples/ast-reveal/manifest.json162.8 KB
  • assets/examples/ast-reveal/preview.png335.5 KB
  • assets/examples/ast-reveal/quality_report.md1.2 KB
  • assets/examples/ast-reveal/README.md1012 B
  • assets/examples/ast-reveal/source.jpg321.1 KB
  • assets/examples/camera-grid-rendering/assets/camera-extrinsics-plot.png23.8 KB
  • assets/examples/camera-grid-rendering/assets/inference-camera-grid.png31.7 KB
  • assets/examples/camera-grid-rendering/assets/inference-output-frame-1.png31.1 KB
  • assets/examples/camera-grid-rendering/assets/inference-output-frame-2.png27.3 KB
  • assets/examples/camera-grid-rendering/assets/inference-output-frame-3.png19.0 KB
  • assets/examples/camera-grid-rendering/assets/inference-output-frame-4.png11.2 KB
  • assets/examples/camera-grid-rendering/assets/input-reference-image-thumb.png7.3 KB
  • assets/examples/camera-grid-rendering/assets/pose-estimator-snowflake.png2.7 KB
  • assets/examples/camera-grid-rendering/assets/top-camera-grid-1.png25.9 KB
  • assets/examples/camera-grid-rendering/assets/top-camera-grid-2.png30.7 KB
  • assets/examples/camera-grid-rendering/assets/top-camera-grid-3.png33.0 KB
  • assets/examples/camera-grid-rendering/assets/top-camera-grid-4.png34.6 KB
  • assets/examples/camera-grid-rendering/assets/top-reference-video-frame-1.png41.3 KB
  • assets/examples/camera-grid-rendering/assets/top-reference-video-frame-2.png38.1 KB
  • assets/examples/camera-grid-rendering/assets/top-reference-video-frame-3.png34.9 KB
  • assets/examples/camera-grid-rendering/assets/top-reference-video-frame-4.png32.8 KB
  • assets/examples/camera-grid-rendering/assets/training-camera-grid.png35.7 KB
  • assets/examples/camera-grid-rendering/assets/training-noisy-latent.png98.8 KB
  • assets/examples/camera-grid-rendering/assets/training-output-frame-1.png40.9 KB
  • assets/examples/camera-grid-rendering/assets/training-output-frame-2.png38.0 KB
  • assets/examples/camera-grid-rendering/assets/training-output-frame-3.png34.4 KB
  • assets/examples/camera-grid-rendering/assets/training-output-frame-4.png32.2 KB
  • assets/examples/camera-grid-rendering/assets/training-reference-image.png61.1 KB
  • assets/examples/camera-grid-rendering/assets/vae-snowflake-1.png2.2 KB
  • assets/examples/camera-grid-rendering/assets/vae-snowflake-2.png2.2 KB
  • assets/examples/camera-grid-rendering/editability_report.md1.2 KB
  • assets/examples/camera-grid-rendering/editable_embedded.svg1.1 MB
  • assets/examples/camera-grid-rendering/editable.pptx812.4 KB
  • assets/examples/camera-grid-rendering/editable.svg57.8 KB
  • assets/examples/camera-grid-rendering/manifest.json89.7 KB
  • assets/examples/camera-grid-rendering/preview.png970.2 KB
  • assets/examples/camera-grid-rendering/quality_report.md1.2 KB
  • assets/examples/camera-grid-rendering/README.md1.1 KB
  • assets/examples/camera-grid-rendering/source.png1.3 MB
  • assets/examples/esa-iss-pillars/assets/bottom_adenot.png35.5 KB
  • assets/examples/esa-iss-pillars/assets/bottom_uznanski.png32.2 KB
  • assets/examples/esa-iss-pillars/assets/clean_plate_1920x1400.png3.6 MB
  • assets/examples/esa-iss-pillars/assets/esa_mark.png13.5 KB
  • assets/examples/esa-iss-pillars/assets/esa_word.png18.3 KB
  • assets/examples/esa-iss-pillars/assets/iss.png100.2 KB
  • assets/examples/esa-iss-pillars/assets/r2_dewinne.png36.4 KB
  • assets/examples/esa-iss-pillars/assets/r2_duque.png32.3 KB
  • assets/examples/esa-iss-pillars/assets/r2_eyharts.png34.5 KB
  • assets/examples/esa-iss-pillars/assets/r2_fuglesang.png30.6 KB
  • assets/examples/esa-iss-pillars/assets/r2_kuipers.png32.7 KB
  • assets/examples/esa-iss-pillars/assets/r2_nespoli.png35.1 KB
  • assets/examples/esa-iss-pillars/assets/r2_reiter.png36.4 KB
  • assets/examples/esa-iss-pillars/assets/r2_schlegel.png34.5 KB
  • assets/examples/esa-iss-pillars/assets/r2_vittori.png37.2 KB
  • assets/examples/esa-iss-pillars/assets/r3_cristoforetti.png36.4 KB
  • assets/examples/esa-iss-pillars/assets/r3_fuglesang.png34.5 KB
  • assets/examples/esa-iss-pillars/assets/r3_gerst.png35.1 KB
  • assets/examples/esa-iss-pillars/assets/r3_kuipers.png36.1 KB
  • assets/examples/esa-iss-pillars/assets/r3_mogensen.png36.8 KB
  • assets/examples/esa-iss-pillars/assets/r3_nespoli.png36.6 KB
  • assets/examples/esa-iss-pillars/assets/r3_parmitano.png36.0 KB
  • assets/examples/esa-iss-pillars/assets/r3_peake.png36.1 KB
  • assets/examples/esa-iss-pillars/assets/r3_vittori.png32.2 KB
  • assets/examples/esa-iss-pillars/assets/r4_cristoforetti.png36.7 KB
  • assets/examples/esa-iss-pillars/assets/r4_gerst.png32.9 KB
  • assets/examples/esa-iss-pillars/assets/r4_maurer.png34.9 KB
  • assets/examples/esa-iss-pillars/assets/r4_mogensen.png34.1 KB
  • assets/examples/esa-iss-pillars/assets/r4_nespoli.png37.2 KB
  • assets/examples/esa-iss-pillars/assets/r4_parmitano.png37.1 KB
  • assets/examples/esa-iss-pillars/assets/r4_pesquet_proxima.png34.1 KB
  • assets/examples/esa-iss-pillars/assets/r4_pesquet.png35.3 KB
  • assets/examples/esa-iss-pillars/assets/r4_wandt.png32.8 KB
  • assets/examples/esa-iss-pillars/assets/source.png3.0 MB
  • assets/examples/esa-iss-pillars/assets/top_dewinne.png33.5 KB
  • assets/examples/esa-iss-pillars/assets/top_guidoni.png38.0 KB
  • assets/examples/esa-iss-pillars/assets/top_haignere.png38.0 KB
  • assets/examples/esa-iss-pillars/assets/top_perrin.png36.8 KB
  • assets/examples/esa-iss-pillars/assets/top_vittori.png38.2 KB
  • assets/examples/esa-iss-pillars/contact_sheet.png1.2 MB
  • assets/examples/esa-iss-pillars/diagnostics/clean_plate_prompt.txt522 B
  • assets/examples/esa-iss-pillars/diagnostics/clean-plate-prompt.txt522 B
  • assets/examples/esa-iss-pillars/diagnostics/foreground_sheet_prompt.txt490 B
  • assets/examples/esa-iss-pillars/diagnostics/ocr_overlay.png2.8 MB
  • assets/examples/esa-iss-pillars/diagnostics/placement_overlay.png2.8 MB
  • assets/examples/esa-iss-pillars/diagnostics/structure_overlay.png2.8 MB
  • assets/examples/esa-iss-pillars/diagnostics/style_overlay.png2.8 MB
  • assets/examples/esa-iss-pillars/diagnostics/visual_qa/blend.png3.6 MB
  • assets/examples/esa-iss-pillars/diagnostics/visual_qa/diff_heatmap.png3.3 MB
  • assets/examples/esa-iss-pillars/diagnostics/visual_qa/side_by_side.png3.7 MB
  • assets/examples/esa-iss-pillars/diagnostics/visual_qa/visual_qa.json1.2 KB
  • assets/examples/esa-iss-pillars/editability_report.md1.5 KB
  • assets/examples/esa-iss-pillars/editable_embedded.svg6.5 MB
  • assets/examples/esa-iss-pillars/editable.pptx4.9 MB
  • assets/examples/esa-iss-pillars/editable.svg31.4 KB
  • assets/examples/esa-iss-pillars/manifest.json104.8 KB
  • assets/examples/esa-iss-pillars/preview.png3.9 MB
  • assets/examples/esa-iss-pillars/quality_report.md2.8 KB
  • assets/examples/esa-iss-pillars/README.md811 B
  • assets/examples/esa-iss-pillars/source.png3.0 MB
  • assets/examples/genai-history/assets/building.png33.8 KB
  • assets/examples/genai-history/assets/feature_chart.png6.1 KB
  • assets/examples/genai-history/assets/feature_cubes.png10.2 KB
  • assets/examples/genai-history/assets/feature_database.png8.8 KB
  • assets/examples/genai-history/assets/stage1_visual.png42.2 KB
  • assets/examples/genai-history/assets/stage2_visual.png40.5 KB
  • assets/examples/genai-history/assets/stage3_visual.png30.8 KB
  • assets/examples/genai-history/assets/stage4_visual.png46.1 KB
  • assets/examples/genai-history/assets/stage5_visual.png44.5 KB
  • assets/examples/genai-history/assets/tech_deep.png11.6 KB
  • assets/examples/genai-history/assets/tech_foundation.png12.0 KB
  • assets/examples/genai-history/assets/tech_multimodal.png20.2 KB
  • assets/examples/genai-history/assets/tech_rule.png9.0 KB
  • assets/examples/genai-history/assets/tech_stats.png9.0 KB
  • assets/examples/genai-history/editability_report.md413 B
  • assets/examples/genai-history/editable_embedded.svg427.6 KB
  • assets/examples/genai-history/editable.pptx340.5 KB
  • assets/examples/genai-history/editable.svg19.7 KB
  • assets/examples/genai-history/manifest.json53.3 KB
  • assets/examples/genai-history/preview.png430.5 KB
  • assets/examples/genai-history/quality_report.md1.2 KB
  • assets/examples/genai-history/README.md1.0 KB
  • assets/examples/genai-history/source.png1.3 MB
  • assets/examples/llm-performance-evaluation/assets/logo_claude.png6.8 KB
  • assets/examples/llm-performance-evaluation/assets/logo_gemini.png8.7 KB
  • assets/examples/llm-performance-evaluation/assets/logo_glm_blue.png7.0 KB
  • assets/examples/llm-performance-evaluation/assets/logo_glm_green.png7.1 KB
  • assets/examples/llm-performance-evaluation/assets/logo_openai.png11.0 KB
  • assets/examples/llm-performance-evaluation/assets/logo_zai.png6.9 KB
  • assets/examples/llm-performance-evaluation/editability_report.md413 B
  • assets/examples/llm-performance-evaluation/editable_embedded.svg473.4 KB
  • assets/examples/llm-performance-evaluation/editable.pptx81.8 KB
  • assets/examples/llm-performance-evaluation/editable.svg30.6 KB
  • assets/examples/llm-performance-evaluation/manifest.json54.0 KB
  • assets/examples/llm-performance-evaluation/preview.png655.5 KB
  • assets/examples/llm-performance-evaluation/quality_report.md1.5 KB
  • assets/examples/llm-performance-evaluation/README.md1.0 KB
  • assets/examples/llm-performance-evaluation/source.webp163.6 KB
  • assets/examples/parallel-loops/editability_report.md413 B
  • assets/examples/parallel-loops/editable_embedded.svg77.4 KB
  • assets/examples/parallel-loops/editable.pptx41.3 KB
  • assets/examples/parallel-loops/editable.svg77.4 KB
  • assets/examples/parallel-loops/manifest.json165.7 KB
  • assets/examples/parallel-loops/preview.png235.6 KB
  • assets/examples/parallel-loops/quality_report.md1.2 KB
  • assets/examples/parallel-loops/README.md955 B
  • assets/examples/parallel-loops/source.png546.0 KB
  • assets/examples/sciscover-cover/assets/clean_plate_raw.png2.0 MB
  • assets/examples/sciscover-cover/assets/footer_science_china_press.png40.5 KB
  • assets/examples/sciscover-cover/assets/footer_springer.png28.0 KB
  • assets/examples/sciscover-cover/assets/source.jpg1.9 MB
  • assets/examples/sciscover-cover/assets/top_science_china_emblem.png13.4 KB
  • assets/examples/sciscover-cover/contact_sheet.png98.1 KB
  • assets/examples/sciscover-cover/diagnostics/background_mask_overlay.png3.2 MB
  • assets/examples/sciscover-cover/diagnostics/background_mask.png3.5 KB
  • assets/examples/sciscover-cover/diagnostics/background_preparation.json341 B
  • assets/examples/sciscover-cover/diagnostics/clean-plate-prompt.txt1.4 KB
  • assets/examples/sciscover-cover/diagnostics/crop_overlay.png2.9 MB
  • assets/examples/sciscover-cover/diagnostics/generation-job.json1.1 KB
  • assets/examples/sciscover-cover/diagnostics/ocr_overlay.png2.8 MB
  • assets/examples/sciscover-cover/diagnostics/structure_overlay.png2.9 MB
  • assets/examples/sciscover-cover/diagnostics/style_overlay.png2.9 MB
  • assets/examples/sciscover-cover/editability_report.md6.9 KB
  • assets/examples/sciscover-cover/editable_embedded.svg2.8 MB
  • assets/examples/sciscover-cover/editable.pptx2.2 MB
  • assets/examples/sciscover-cover/editable.svg4.9 KB
  • assets/examples/sciscover-cover/manifest.json38.8 KB
  • assets/examples/sciscover-cover/preview.png2.4 MB
  • assets/examples/sciscover-cover/quality_report.md2.2 KB
  • assets/examples/sciscover-cover/README.md864 B
  • assets/examples/sciscover-cover/source.jpg1.9 MB
  • assets/examples/skill-compiler/assets/composition_sigma.png4.7 KB
  • assets/examples/skill-compiler/assets/left_frozen_icons.png17.3 KB
  • assets/examples/skill-compiler/assets/left_network.png12.5 KB
  • assets/examples/skill-compiler/assets/stage1_command.png1.1 KB
  • assets/examples/skill-compiler/assets/stage1_doc_ok_a.png5.0 KB
  • assets/examples/skill-compiler/assets/stage1_doc_ok_b.png5.0 KB
  • assets/examples/skill-compiler/assets/stage1_model_logo_a.png7.6 KB
  • assets/examples/skill-compiler/assets/stage1_model_logo_b.png7.5 KB
  • assets/examples/skill-compiler/assets/stage1_prefix.png7.3 KB
  • assets/examples/skill-compiler/assets/stage1_skill_corpus.png30.1 KB
  • assets/examples/skill-compiler/assets/stage2_skill_docs.png7.8 KB
  • assets/examples/skill-compiler/assets/stage2_target.png9.3 KB
  • assets/examples/skill-compiler/editability_report.md1.9 KB
  • assets/examples/skill-compiler/editable_embedded.svg226.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

FigEdit

把不可编辑的位图图形重建为高保真、可维护、可继续编辑的 SVG 与原生 PPTX 包。

**主流程:勘察 → 备料 → 组装 → 验收。**先判断,后执行。判断阶段不碰坐标也不跑脚本,只回答“每一部分从哪来”;执行阶段才按已定路线调工具。

核心原则

输出画面上的每一块像素只可能有四个来源:

  1. SVG 画的 —— 结构、文字、公式
  2. 从源图切的 —— crop
  3. AI 生成的 —— 区域清版底(背景)、色键版再生(前景对象)
  4. 整块原样保留的 —— preserve-raster

路由就是给每一部分指派来源,每部分有且只有一个。指派完成即可开工;指派不全就是漏了东西。

重绘门槛

只有“用三五笔基础图元能画得像”的图形才允许 redraw:朴素箭头、方框、分隔线、圆点、加减号、对勾、简单节点圆。有定制轮廓、渐变、阴影、多色细节、品牌或角色身份的对象一律按素材处理(切、再生或压平),哪怕它看起来简单。拿不准时按素材处理,不重画。重画产物必须与源图形状可对照,画不像就是路由错误,不是绘画技术问题。

工作位置

所有命令在用户项目目录运行,每张图建任务目录(figure-task/work 证据、figure-task/out 交付),绝不写回 skill 目录。Windows 路径用正斜杠,非 ASCII 路径先经文件系统验证。

1 勘察

看一次足够清晰的源图,产出一份重建路径概要。这是本阶段唯一的交付物,纯文字,零坐标,二十行以内,写给人看。槽位固定,缺项写“无”:

图型与分区    每个区域一行:这是什么、底子从哪来
需要生成的    清版底张数 + 色键版张数 = 计费调用总数,或“无”
不可重画的对象  可直接裁的一堆、需再生的一堆,按名字和位置点出来,或“无”
公式          有无、大致数量 → 验证档位
工作量重心    这张图的时间主要花在哪
需要用户定    具体问题,或“无”

对象用名字和空间关系指认(“标题右边那个地球仪,骑在面板边框上”),不写 bbox。坐标属于备料阶段。

概要写完路线即锁定,后续不翻案。写不出“工作量重心”说明没看懂图;“不可重画的对象”分不出两堆说明污染扫描没做。

图型速查表(按区域查,不是按整图)

看到的底子从哪来里面的对象从哪来
白底或平色底的流程图、架构图、论文插图SVG 画通用图元画;专有图标按窗口干净与否切或再生
多面板拼接的复合图每个面板分别查同上,按面板成批扫
截图、图表主体、缩略图网格,内部不需要改整块保留不拆
地图、照片、插画上压着要改的标注区域 AI 清版要能单独动的再生;不用动的压平进底板
海报、封面、场景图,文字压在连续画面上AI 清版同上
公式密集的论文图按上面几行查底子公式一律 math,验证档锁 pptx-triggered

一张图的不同区域各查各的,不要用一个标签盖住整幅。判不准时回到四来源指派。

素材两堆

过不了重绘门槛的对象只分两堆,一次扫完,不逐个走流程:

  • 窗口干净的 → 切。轮廓完整、四周无异物、外接矩形不含别人的像素。
  • 被压盖的 → 边框、文字、箭头、连接线、邻居穿过或遮住它。需要单独动就再生;不需要单独动且落在清版区就压平进底板。确定性 SVG 区没有底板可压,那里的污染对象只能再生。

判据细则见 references/routing.md,元素语义见 references/element_decision_matrix.md。

编辑深度与提问

用户原话优先:说“仅文字可编辑”锁 text-only(连续场直接压平);点名对象锁 selective-assets;要求全部可动锁 full-extract;检出公式且用户未表态时默认 text+structure 并锁 pptx-triggered。

**提问一次问完。**概要写完后若有待决项,把前景深度选项、生成预算和 PPTX 附着预授权(含公式时)合并成一次提问。只有不同选择会显著改变费用或交付能力时才问;能自己定的不问。拿到附着预授权后验收阶段直接用 --allow-attach,不再二次提问。

**用户确认前不得发起任何计费生成调用,也不得裁剪或合成。**OCR 不在此列,见下。

2 备料

按概要指派的来源把素材做出来。开头无条件先跑一次取证——不计费、输出无论走哪条路都要用,可以和提问并行。新任务用 --init 一并建目录:

python scripts/prepare_measurements.py input.png --init figure-task

一次跑出 OCR、风格采样和结构证据(work/geometry.json:面板 bbox 与颜色、每行文字的槽位与字号色值)。画布尺寸、OCR 条数、面板与文字槽数量、低置信文字清单直接打印在屏幕上,不要再写代码去读这些 JSON。看一次 work/diagnostics/geometry_overlay.png 做整体校验,别逐框打开。

**此后任何像素问题都走 measure.py,一次问完。**紧边界、区域颜色、四边净空、透明图边界、反算字号、两图对齐残差,还有"我想看看这块长什么样",都是它的查询类型。一次问十个和问一个花的时间一样,问完拿到一张数字表加一张放大拼图。不要手写 python -c 数像素,也不要自己裁图存盘再打开看。

python scripts/measure.py input.png --exclude-text figure-task/work/ocr_results.json --q "logo:bbox@1850,1600,300,240" "hdr:color@0,0,2400,180" "t1:fontfit@340,881,275,31" "card:zoom@1290,1550,360,300" --sheet figure-task/work/measure_sheet.png

量图标一律带 --exclude-text。粗窗口几乎总会把旁边的标题文字圈进来,不排除就会量成"图标加标题"的外接矩形。量得结果会用红框画在拼图上,一眼能看出量对没量对。

**结构证据是候选不是结论,也不改路由。**勘察锁定的路线不因为看到 overlay 就翻案。照片、插画、海报这类非平面设计图会标 abstained: true 并只给极少候选,这是设计行为:那里本就没有面板可找,该由人工量或走清版。各项候选的可信程度见 references/scripts.md。

以下分支按概要执行,互不依赖,能并行就并行。概要没指派到的分支直接跳过——纯 SVG 图不跑任何生成,纯清版压平图不跑任何裁剪。

确定性 SVG 图(白底流程图、架构图、论文插图,无 crop 无生成)三个分支一个都不进:备料就是上面那条取证命令加若干 measure.py 查询,跑完直接进组装。这类图的时间应当以分钟计。

有 crop 素材

此时才为这些对象点粗框(一眼精度,允许 10–20px 偏差),写进 work/inventory.json,只含走切或再生的对象;文字框来自 OCR,结构框在组装时确定,都不进来。路线已锁,点框是执行动作。

python scripts/snap_boxes.py input.png --inventory figure-task/work/inventory.json --exclude-text figure-task/work/ocr_results.json --out figure-task/work/snap_report.json --sheet figure-task/work/snap_sheet.png

看一次 snap_sheet.png 总览。判定写进各资产的 crop_window,人工只复看脚本点名项:contaminated 的改路由(改走再生或压平),snap-failed、带 warning 的和概要点名看不清的用 inspect_regions.py 局部放大。三值语义——clean 窗口余量是画布底色;clean-on-fill 余量是单一均匀实色且四边有净空,manifest 用同色重画承载面;contaminated 不得继续切。quality_audit.py 的事后核验是兜底。切图由 crop_assets.py 在组装时执行。

有清版区

prepare_clean_plate_mask.py 准备掩膜,生成区域底板,check_plate_registration.py 验配准(scale ≈ 1.00 / offset ≈ 0)。底板必须是对源区域的编辑——移除待重建前景并补全其后像素,其余保持对齐和身份一致,不是新场景。细则见 references/background_reconstruction.md 与 references/image_generation.md。

有再生对象

probe_palette.py --boxes 定键色与 sheet 数,生成色键版,chroma_key.py 抠出,slice_grid.py 切分。全部候选合并到尽量少的 sheet 上,重复元素只生成一次、按共享 id 多处放置。细则见 references/chroma_regeneration.md。禁止 rembg、GrabCut、阈值抠图等即兴替代。

无可用图像后端或底板不合格时停止并报告,不静默降级。

**生成是长杆,不要干等。**调用发出后立即并行推进文字清单、连接线和 manifest 草稿。

3 组装

必读 references/manifest_spec.md、references/svg_authoring.md、references/quality_checklist.md,脚本接口查 references/scripts.md,其余按路线加载(各文件开头有适用说明)。公式密集图必读 references/formula-reconstruction.md。把勘察结论记进 manifest 顶层 reconstruction_plan,写文字 retype、公式拆 math、结构 redraw、素材按备料结果落 decision 与 crop_window。

首版允许用一次性生成器写出来,元素多时这是正当做法。生成器写完 manifest 落盘后立即改名 *.py.retired 退场,后续修改一律走 manifest_edit.py——生成器留着会覆盖手工修复。

文字和面板可以先采纳草稿再改,比从零写快:

python scripts/draft_elements.py figure-task/work/geometry.json --out figure-task/work/draft_elements.json
python scripts/manifest_edit.py manifest.json --adopt figure-task/work/draft_elements.json
python scripts/compose_svg_package.py manifest.json --out figure-task/out --stage svg

**采纳即担责,采纳后必须立即 compose 一次并看差异热力图。**这是唯一的审阅路径:逐条读草稿 JSON 比手写还慢,看一张合成图错的地方自己会浮出来。草稿的 font_size 和 fill 是估计值,靠 fit_text.py 和视觉比对收敛,和手写值一样要改。审阅完清掉 provenance 或置 review_status,否则质量门会拦。

修复走批量通道,不手编大 JSON、不写临时 patch 脚本:

python scripts/manifest_edit.py manifest.json --apply-snap figure-task/work/snap_report.json
python scripts/manifest_edit.py manifest.json --set "label-3,label-4:y+=4" --apply-fit figure-task/work/fit_report.json
python scripts/manifest_edit.py manifest.json --patch figure-task/work/patch.json

告警收齐一批改完再 compose。SVG 冻结后 --stage pptx 导出,仅补元数据用 --stage package。

4 验收

compose 每次都会打印差异工单——按误差排序、点名到元素 id、附带毛病类型(位置偏了、字号偏大、颜色不符、整个没画出来),外加一张 diagnostics/fix_sheet.png 把误差最大的十二个元素做成源图/成品上下对照。

照工单改,不要自己再去逐块比对找差异。一轮就是「看工单和对照图 → 改 manifest → 重跑 compose」三步。

每轮看 preview.png 与各报告;报告点名后只复查受影响区。最终至少看一次 SVG 总览。

  • 档 0 / svg-primary:无 math 且 pptx_text_fit.py 无换行、溢出、缺字、错位报告。SVG 即验收,不打开 PowerPoint。
  • 档 1 / pptx-triggered:含 math 或静态审计报结构风险。交付前原生渲染一次,只查公式越槽、意外换行、内容截断、元素错位。
  • 档 2:档 1 发现结构缺陷,批量修完最多再渲染一次;仍有问题写入交付说明,不无限循环。

不算缺陷:抗锯齿、笔画粗细、标点亚像素差、基线 ±1px、字距 ±0.5px、整体色彩管理差异。算缺陷:内容缺失、换行变化、溢出、公式越槽、元素错位超 3px。

交付说明附上重建路径概要,并说明实际执行与概要是否一致、不一致的原因。

PowerPoint 安全规则

PPTX 原生渲染只能调 python scripts/render_pptx.py figure-task/out/editable.pptx --out figure-task/out/pptx_render。

  • 禁止手写 PowerPoint.Application 自动化;禁止附着态调用 Quit();禁止 taskkill /IM POWERPNT.EXE、Stop-Process POWERPNT。
  • 检测到用户正在使用 PowerPoint 时脚本默认拒绝;只有用户同意(含勘察时的预授权)才加 --allow-attach。
  • 附着态只关自己只读打开的 Presentation。未完成要求中的原生渲染时交付说明写“原生渲染暂缓”,不得伪称完成。

输出包

editable.svg、editable_embedded.svg、editable.pptx、preview.png、manifest.json、contact_sheet.png(有素材时)、quality_report.md、editability_report.md、assets/、diagnostics/、timings.json。PPTX 语义级顶层解组:文字、形状、连接线、素材可直接选中;公式、蒙版、旋转等按保真需要保持成组。

权威与职责

关注点唯一权威
四阶段、四来源、重绘门槛、验证分档、PowerPoint 安全本 SKILL.md
勘察协议、路径概要槽位、reconstruction_planreferences/routing.md
manifest 字段、reconstruction_mode 词汇references/manifest_spec.md
背景、前景深度、文字层策略references/background_reconstruction.md
元素语义、重画还是保素材references/element_decision_matrix.md
crop 执行语义、污染素材恢复references/asset_extraction.md
chroma 再生references/chroma_regeneration.md
生成简报与图像后端references/image_generation.md
公式重建与可编辑性references/formula-reconstruction.md
脚本接口与候选可信度references/scripts.md
最终放行条件、修复优先级references/quality_checklist.md

入口脚本

阶段脚本
全程measure.py —— 一切像素问题的唯一入口,批量提问
备料·取证prepare_measurements.py(含 --init 脚手架)、probe_geometry.py
备料·裁剪snap_boxes.py、inspect_regions.py、crop_assets.py
备料·生成prepare_clean_plate_mask.py、generate_clean_plate.py、check_plate_registration.py、probe_palette.py、chroma_key.py、slice_grid.py
组装draft_elements.py、manifest_edit.py、compose_svg_package.py
验收fit_text.py、pptx_text_fit.py、render_pptx.py;差异工单 fix_worklist.py 由 compose 自动运行
审计validate_manifest.py、quality_audit.py、audit_editability.py

命令行、输入输出格式与注意事项见 references/scripts.md。表外脚本由 compose_svg_package.py 内部调用,不直接运行。

质量底线

保留源图全部重要信息、阅读关系和专有视觉;普通文字和每个检出公式保持可编辑;无检测噪声、公式文字泄漏、脏裁剪、源图补丁拼贴或静默路线降级。完整放行条件见 references/quality_checklist.md。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

このスキルの問題を報告する