You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 25b9995
Browse filesBrowse the repository at this point in the historyBrowse files
Compose poster headlines, a real far viewing scale, and named contrast lints
A region with headline: true lets its title grow past the role size to the
largest that fits the region's width and height, so a one-line poster or
sale sign no longer stops near 130 px on 1080p. viewing: far now sets every
role 1.5x larger rather than only raising floors. The catalog documents
valign (auto, top, center, bottom) and headline, and low_contrast_rendered
names the region, role and quoted copy it flags.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@@ -289,6 +291,8 @@ export async function composeCatalog(): Promise<ComposeCatalog> {
289
291
image_src: "local filesystem path relative to the spec file directory; iframe and webapp src may be a URL",
290
292
shadow: 'Text over a page image or video with no fill gets a 1px unblurred drop shadow: #000000E6 on light type, #FFFFFFE6 on dark type. Set shadow to "none" or { x, y, color, blur? } to override. Optional blur is an integer 0 through 32; omit is 0 (unblurred offset fill). Auto media shadow stays 1 px unblurred. A card plate is backing, so type on a card does not get the automatic shadow.',
291
293
outline: "outline is { width: 0.5-12, color } and is off unless set.",
294
+
valign: "valign places a region's content vertically: top, center or bottom; auto (default) centers it, and side-by-side regions with the same top and height share one scale and offset so their titles line up. Explicit top, center or bottom opts a region out of that row.",
295
+
headline: "headline: true lets the region's title grow past its role size to the largest that fits the region's width and height, one line per \\n line (posters, sale signs). Needs a title; other roles keep their sizes, and the whole pack still has to fit.",
292
296
layered: "compose render writes one PNG per region plus manifest.json. --combined writes a flattened PNG for inspection. Default for agent work is layered.",
293
297
envelope: "structured JSON, not pixels",
294
298
viewing: viewingGuidance(),
@@ -333,6 +337,8 @@ export function formatComposeCatalog(catalog: ComposeCatalog): string {
return'optional page "near"|"mid"|"far"; default mid. Type floors use that x-height at layout (1080p mid body wish is ~45 px); lint warns too_small_for_distance if a node still undershoots 0.7%/1.2%/2.0% of the shorter edge.';
189
+
return'optional page "near"|"mid"|"far"; default mid. far sets every role 1.5x larger (1080p far body ~68 px, title ~195 px) and every distance raises type floors to its x-height; lint warns too_small_for_distance if a node still undershoots 0.7%/1.2%/2.0% of the shorter edge.';
190
+
}
191
+
192
+
/** The largest title size a headline region can hold: its lines stacked in the region height. */
0 commit comments