type DocumentSurface = "reading" | "live-preview" | "pdf";
interface BodyDesignCheck {
surface: DocumentSurface;
headingRhythm: "stable" | "too-tight" | "too-loose";
captionFlow: "clear" | "missing" | "overlapping";
}
const needsFollowUp = checks.some((check) =>
check.headingRhythm !== "stable" || check.captionFlow !== "clear"
); // PDF에서도 같은 폭과 색 대비를 유지
Live Preview Code
```typescript
type DocumentSurface = "reading" | "live-preview" | "pdf";
interface BodyDesignCheck {
surface: DocumentSurface;
headingRhythm: "stable" | "too-tight" | "too-loose";
captionFlow: "clear" | "missing" | "overlapping";
}
const needsFollowUp = checks.some((check) =>
check.headingRhythm !== "stable" || check.captionFlow !== "clear"
); // PDF에서도 같은 폭과 색 대비를 유지
```
Reading Code