feat(slides): user-definable slide layout blueprints #27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
The generator currently picks slide composition from scratch on every generation. User-defined layout blueprints — region specs such as "title top / text left / image right" — constrain the AI and give authors repeatable visual structure. Layouts are orthogonal to themes: themes define style, layouts define composition; a slide can have one of each. See ADR-0004 for the on-disk format decision.
Goals
layouts/<name>/layout.tomlwith named regions, each specifying type (title | body | image | caption | bullets | stats) and position/sizelayout: "<name>"selects a layoutFeasibility
Medium complexity overall, with two areas needing design decisions before implementation starts.
First, the layout spec schema: region position/size can be grid-based (col/row spans) or percent-based (x/y/w/h). Grid-based is simpler to describe in prose for the AI; percent-based is more precise but harder to author by hand. This should be resolved before implementation (open question in PRD).
Second, translating a structured layout into an effective prompt instruction requires experimentation — it is not guaranteed the model will respect a text-only region spec faithfully. A wireframe PNG companion in the layout directory (rendered from the spec or hand-drawn), passed as a style-only image ref, would reduce that risk significantly and is recommended as part of the initial implementation.
The on-disk format, discovery, and UI work follow the same patterns as typed themes and are low-risk. No existing code is removed — this is a net-new capability.