V0.17.0
Name:v0.17.0Status:planning

v0.17.0 — Declarative metadata & layout

The v0.17.0 milestone follows v0.16.0's registry-driven sites with a fully declarative model for how metadata-bearing and media-bearing runes are assembled — replacing per-rune imperative structure code with a small, orthogonal config vocabulary (metaFields + blocks + layout) and giving every rune a consistent, theme-overridable metadata treatment. It also lands the file-ref rune and the shared preview drawer.

Milestone burndown: 0 open work items remaining; peak 0, started Jul 901Jul 9Jul 11
Open work items Ideal burndown
Progress 1/1 work items

Work Items

Done 1
WORK-298 claude/milestone-v0-28-0-llvtfa
Drawer enhancements — footer slot, always-visible chrome
Foundation work for SPEC-078. The file-ref rune and the xref preview="drawer" extension both need a footer slot on the drawer rune and a flex-column drawer chrome so footer + header stay pinned while the body scrolls. Doing this once on the drawer rune itself unblocks both downstream items and lands a standalone-drawer enhancement at the same time (authors can now write {% drawer %}body --- footer{% /drawer %} directly).The single-block edge-to-edge body styling that was originally scoped here was pulled out after preview testing — the drawer-side :has(> .rf-codeblock:only-child, …) selector list couples the drawer to specific rune class names, which doesn't generalise (codegroup vs snippet vs chart vs sandbox each have different scroll-container needs; third-party runes can't extend the list). A cleaner shape (generic data-fill opt-in contract on the rune side, single generic :has(> [data-fill]:only-child) selector on the host side) is captured in SPEC-078's Future extensions and will land in a follow-up spec.
high moderate
7/7 criteria