v0.15: Live Photo 生产规则 — 平台限制、拼图版式、长视频处理、发布提醒、可见文案规则

新增 Live Photo 正式能力:单视频、二宫格、三宫格、四宫格、三连拼图、
长视频低成本诊断。增加 references/live-photo-production.md 生产规范、
scripts/ 工具链(contact sheet / .pvt 打包 / Apple metadata)、
validator R8 visual bounds + R9 title gap、文档约束测试。

由 Codex 完成主体实现。
This commit is contained in:
郭浩 committed 2026-07-01 16:11:34 +08:00
1 parent 032782ff67
commit f492caeb8b
20 files changed
+1982 -22

No files matched your search

+27
View File
@@ -28,6 +28,23 @@ Run this before final delivery.
- Images and screenshots align to the grid.
- Screenshot pages give the screenshot enough area.
- 1:1 WeChat cover uses a simplified short title and is composed separately, not blindly cropped.
- If a page overflows, measure the overflow before editing. Do not remove content until the measured overflow requires it.
- Titles need visible breathing room before the next content block. Main display titles should usually keep at least 28px below; local headings should keep at least 16px.
### Overflow Correction Ladder
Use validator output before changing the layout:
- `1-40px` over: nudge the content group up or tighten one gap/padding by 20-40px. Do not delete content.
- `40-90px` over: compact local gaps/padding and reduce one block height. Avoid cutting copy.
- `90-160px` over: reduce a display title slightly or compress one paragraph before deleting content.
- `160px+` over: switch to a higher-capacity recipe, merge modules, or remove content intentionally.
After fixing overflow, check for over-correction:
- If `R8` reports large bottom whitespace, restore some spacing, move the content down slightly, or expand the final block.
- Do not accept a fix that turns a small overflow into a large empty lower band.
- Prefer one measured adjustment per render pass, then re-run validation.
### 4-band Density Check (3:4 only — run after render)
@@ -45,6 +62,16 @@ A poster passes when:
If failing: don't shrink the canvas, don't add decorative blobs. Either expand copy (more ledger items, longer paragraphs, supporting evidence row, marginalia column) or switch recipe (M07 → M04 for genuinely-short content; M03 → M11 to add a marginal column; thin ledger → M08 Tall Ledger with bigger rows).
### Programmatic Layout Checks
`validate-social-deck.mjs` reports:
- `R1` / `R8`: DOM overflow and visual overflow, including measured pixel amount and the lowest overflowing element.
- `R8`: bottom whitespace and active content height, which catches "fixed too much" layouts.
- `R9`: title-to-content gap, which catches titles visually touching the next block.
Use these numbers as the first diagnosis. Multimodal inspection is still useful for taste, but overflow, empty lower bands, and title gaps should be handled from measured output first.
## Style
- Package uses one visual system.