返回 ppt-master
executor-image.md
根目录 / skills / ppt-master / references / executor-image.md
1 > Default Generate also loads [`executor-base.md`](./executor-base.md). Quick
2 > Generate deliberately does not; this branch supplies its conditional image
3 > realization rules directly.
4
5 # Executor Image Branch
6
7 Conditional Executor authority for image status handling, placement, crop behavior, formula images, and template-bundled images.
8
9 **Trigger**: load for any image/formula in §VIII, the lock, Quick Generate's active-context resource decisions, or a selected template.
10
11 ## 1. Image Handling
12
13 Handle images by status; enum and lifecycle: [`svg-image-embedding.md`](svg-image-embedding.md).
14
15 **Mode boundary**: Default keeps Strategist → Executor with no downstream acquisition/reselection. Quick substitutes the main agent's prepared active-context resources for §VIII/lock below; the same boundary starts at SVG authoring.
16
17 | Status | Source | Handling |
18 |--------|--------|----------|
19 | **Existing** | User-provided | Reference images directly from `../images/` directory |
20 | **Generated** | Generated by Image_Generator | Reference images directly from `../images/` directory |
21 | **Sourced** | Web-acquired by Image_Searcher | Reference from `../images/`. **Read [`image_sources.json`](image-searcher.md) to decide attribution** — load [`executor-web-image.md`](./executor-web-image.md). |
22 | **Rendered** | Deterministic formula PNG | Reference from `../images/`; use a legal anchor with `meet` (centered default: `xMidYMid meet`) |
23 | **Needs-Manual** | Acquisition or suitability remains unresolved | Default uses a placeholder until Step 7. Quick blocks every required row in this status; file presence alone does not bypass it. |
24 | **Placeholder** | Not yet prepared | Use dashed border placeholder |
25
26 **Reference syntax**: see [`svg-image-embedding.md`](svg-image-embedding.md).
27
28 **Template-bundled images**: [`apply-template-workspace.md`](../workflows/stages/apply-template-workspace.md) copies them into project `images/`. Outside `mirror`, reference `../images/<name>` and never copy a template SVG's bare sibling href: the rendered page lives in `svg_output/`. `mirror` ([`executor-structured.md`](./executor-structured.md) §1.1) keeps hrefs verbatim; export resolves them against `images/`.
29
30 **Default — active image integration (may override when plain placement is
31 stronger)**: Treat loaded [`image-layout-patterns.md`](./image-layout-patterns.md)
32 as vocabulary and [`image-layout-spec.md`](./image-layout-spec.md) as math, not
33 a quota or lock. Run the catalog's §7 playbook before drawing; its combinations
34 are recall aids, not coverage targets. A `#P...` suggestion completes only the
35 page skeleton; omitted `M`, effect, Boolean, or native overlay leaves
36 realization open and never means “keep plain.” For every image-bearing page,
37 derive the image/content or image/shape relationship from its communication job,
38 hierarchy, copy, asset ratio/focus, and deck rhythm. Before drawing, form one
39 relevant treatment candidate, compare it with `P`-only, implement the stronger
40 legal composition, and realize any adopted treatment through the already-loaded
41 [`svg-effects.md`](./svg-effects.md) and
42 [`native-shape-authoring.md`](./native-shape-authoring.md). This is an opportunity
43 pass, not an effect quota. Deepen, simplify, replace, or combine suggestions;
44 plain placement remains valid when it communicates better. Preserve role/source,
45 must-use, crop/content, and explicit user/template constraints; expression-only
46 changes need no upstream rewrite.
47
48 **Reference — motion-ready image layering, not a constraint**: For adopted §IX or an explicit focus, comparison, evidence, reveal-order, or cross-page requirement, decide during SVG authoring whether the final composition needs separate visible units. Keep ordinary stable framing/background static and wrap each independently revealed or continuing Slide-local unit in a descriptive direct-root `<g id>`; structured atoms/slots retain their boundaries. Existing units or a page transition may suffice. The motion stage owns effects, pairing, order, and timing.
49
50 **Hard rule — visible-layer timing**: Any crop, lens, scrim, comparison, evidence, or annotation layer required by an adopted motion plan MUST already exist in the final SVG without violating structural contracts. The later stage may regroup ordinary Slide-local content visual-equivalently, but cannot invent or modify missing visible content. If no legal existing unit can serve a non-binding suggestion, simplify it to available units, a page transition, or `none`; an explicit requirement that cannot be represented follows failure recovery.
51
52 **Hard rule — narrow visual-inspection scope**: Start with §VIII `Reference` plus dimensions. If one `Existing`/`Sourced` asset still leaves focal-safe crop, overlay contrast, or a quiet region ambiguous, inspect only that asset/review copy for placement. This cannot reopen selection, change identity/must-use, infer provenance, substitute the asset, or invent focus; never routinely read back `Generated` images. If `adaptive` focus stays uncertain, use `meet`; conflicting binding constraints return upstream.
53
54 **Placeholder**: Dashed border `<rect stroke-dasharray="8,4" .../>` + description text
55
56 **Crop policy**: read the §VIII row and matching lock projection. On every slide that uses a `crop=no-crop` source (or a legacy trailing `| no-crop`), retain one visible complete instance using one of the nine legal anchors with `meet`, never `none`, and no `clip-path`, `mask`, clipping overflow, or nested `<svg>` crop viewport. An auxiliary same-slide detail or lens may crop the same source only while that complete instance remains visible. `crop=adaptive` permits but never requires cropping; choose `meet` or focal-safe `slice` from purpose, ratio, focus, and container. A missing or conflicting `source` / `pattern` / `crop` projection returns upstream instead of being inferred during execution; the accurately projected `pattern` remains a preferred expression that may be adapted without rewriting the lock.
57
58 **Hard rule — same-source addressable crops, only when adopted**: A layout
59 suggestion, including pattern `#M1-11`, never activates this transport. Pattern
60 `#M1-09` is a separate deliberate-offset treatment and never claims registered
61 or Morph continuity. Apply this transport only when independent crops must
62 preserve one exact scene map or an explicit editable/Morph requirement needs
63 them. Once active, reuse one exact
64 `href` without slice assets. Give every independent/Morph object a stable
65 page-unique id and a distinct nested crop wrapper under
66 [`svg-effects.md`](./svg-effects.md) §6.5. Plain rectangles need no crop marker;
67 shaped frames put `data-pptx-crop="1"` on the wrapper and a matching
68 `userSpaceOnUse` clip on its inner `<image>`, never the wrapper. Repeated crops
69 or SVG/PPT visual drift fail. Derive every wrapper `viewBox` from one shared
70 source-to-page transform over the union of the visible containers. Never run
71 `cover` / focal cropping independently per container: different container
72 positions and heights must change the source-unit `x`, `y`, `width`, and
73 `height` by the same union-relative mapping, so the gaps remove pixels without
74 rescaling the scene. A compound clip on one `<image>` is pattern `#M1-10`, not a
75 substitute when the objects must remain independently editable or Morphable.
76
77 **Formula images — declared-inference fallback for a missing `no-crop` flag**: rows with `Acquire Via: formula` or `Type: Latex Formula` MUST be treated as no-crop. For a rendered file, use dimensions in this order: current `analysis/image_analysis.csv`, `design_spec.md §VIII`, then `images/formula_manifest.json`. For a `Needs-Manual` row, size the dashed placeholder from the planned dimensions in §VIII, then the manifest; the readiness gate re-analyzes the supplied file and reconciles the container before export. Do not normalize all formulas to one height unless the spec explicitly states that layout choice.
78
78 lines MARKDOWN