openpencil/apps/web/server/api/mcp
Fini 6e1d523514 feat(ai): add_video_placeholder_v0 — video embed placeholder (56th)
Dark slate (#334155) box + centered white play icon + optional
caption. Default 320×180 for 16:9. The "future video embed"
affordance — semantically distinct from add_image_placeholder_v0:
dark bg + play icon reads as "play me later", not "picture coming".

Play affordance is a lucide `play` icon_font, NEVER a hand-drawn
path triangle (classic LLM anti-pattern for video placeholders).
Regression test locks that invariant.

Wired across all three paths + elements.md entry (44b) + keyword
map + example + parametric test CASES in 8 files. Handler test
has 6 assertions including the path-vs-icon_font anti-pattern
guard.

Tool count: 55 → 56. Test count: 3225 → 3241 (+16).
2026-04-22 09:05:00 +08:00
..
codegen V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
active-ping.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
document.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
document.post.ts V0.7.1 (#102) 2026-04-13 21:30:23 +08:00
events.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
exec-tool.post.ts feat(ai): add_video_placeholder_v0 — video embed placeholder (56th) 2026-04-22 09:05:00 +08:00
read-nodes.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
screenshot-response.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
screenshot.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
selection.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
selection.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
server.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
server.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
sync-reset.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00