ID:WORK-076Status:done
Extract Shared Layout Meta Tag Utility
Priority:highComplexity:simpleSource:SPEC-028
No incremental history — criteria tracking started on Apr 19.
Runes that extend SplitLayoutModel all emit identical boilerplate for layout meta tags (layout, ratio, valign, gap, collapse). Extract this into a shared utility in @refrakt-md/runes so each rune's transform calls one function instead of copy-pasting the conditional logic.
buildLayoutMetas() utility exported from packages/runes/src/common.ts (or a new layout-helpers.ts){ metas: Tag[], properties: Record<string, Tag> }layout !== 'stacked' guard, gap/collapse conditionals, and all five meta tags (layout, ratio, valign, gap, collapse)recipe.ts in @refrakt-md/learning refactored to use the shared utilityrealm.ts and faction.ts in @refrakt-md/storytelling refactored to use the shared utilityplaylist.ts in @refrakt-md/media refactored to use the shared utilityrecipe.ts (reference implementation) and compare with realm.ts, faction.ts, playlist.ts