For Dog Week and All WDS Projects
Example:
Every walk. on time. Every time. ← Actual text (readable)
Benefits:
Example:
───────────────────────────────────────── ← Line markers
───────────────────────────────────────── ← Show length/size
───────────────────────────────────────── ← Not final content
─────────────────────────────────────────
Benefits:
In Dog Week sketches (and most UI sketches), text is represented by horizontal lines in groups.
Page Title (centered):
═════════════════════════ ← Thick pair, centered = Heading, center-aligned
═════════════════
Body text (left-aligned):
───────────────────────────────────────── ← Thin pairs, left edge = Body, left-aligned
─────────────────────────────────────────
─────────────────────────────────────────
─────────────────────────────────────────
─────────────────────────────────────────
Caption (right-aligned):
────────────────── ← Short pair, right edge = Caption, right-aligned
──────────────────
Justified/Full-width text:
═════════════════════════════════════════════ ← Extends full width = Justified
═════════════════════════════════════════════
Each PAIR of horizontal lines = ONE line of text
| Number of Pairs | Text Lines | Typical Use |
|---|---|---|
| 1 pair | 1 line | Headlines, labels, buttons |
| 2 pairs | 2 lines | Short headlines, subheadings |
| 3-4 pairs | 3-4 lines | Intro paragraphs, descriptions |
| 5+ pairs | 5+ lines | Body copy, long descriptions |
Before analyzing individual text elements, establish your reference points:
If analyzing multiple pages in the same project:
Look for established patterns:
Start Page (already analyzed):
- Body text: Thin lines, icon-sized spacing → 16px Regular
- Button labels: Medium lines → 16px Semibold
- Page title: Thick lines, button-height spacing → 48px Bold
Current Page (About Page):
- Similar thin lines, icon-sized spacing → **Same: 16px Regular**
- Similar medium lines in buttons → **Same: 16px Semibold**
Design System Integration:
Benefits:
Line thickness indicates font weight (bold/regular), NOT font size
Compare lines RELATIVE to each other within the sketch:
| Relative Thickness | Font Weight | CSS Value | Typical Use |
|---|---|---|---|
| Thickest (═══) | Bold | font-weight: 700 | Headlines, strong emphasis |
| Thick (═══) | Semibold | font-weight: 600 | Subheadings, medium emphasis |
| Medium (──) | Medium | font-weight: 500 | Slightly emphasized text |
| Thin (──) | Regular | font-weight: 400 | Body text, normal content |
| Thinnest (─) | Light | font-weight: 300 | Subtle text, de-emphasized |
Don't measure pixels—compare thickness relative to other text in the same sketch.
The vertical spacing between lines indicates font size—compare to UI elements
| Spacing Relative To | Estimated Font Size | Typical Use |
|---|---|---|
| Button Height | ~40-48px | Large Heading - Page titles |
| Address Bar Height | ~32-40px | Medium Heading - Section headings |
| Between Button & Icon | ~24-32px | Small Heading - Subsection headings |
| Icon/Scrollbar Size | ~16-24px | Body text / Paragraphs |
| Half Icon Size | ~12-16px | Captions / Helper text |
⚠️ Important: If spacing seems disproportionately large (>2x button height), verify this is text and not an image placeholder or colored box!
TEXT - Normal spacing:
═══════════════════════════════ ← Bold line
← ~Button Height
═══════════════════════════════ ← Bold line
This is clearly TEXT (H1 heading)
IMAGE - Large spacing (confusion risk):
═══════════════════════════════ ← Line?
← Much larger than any UI element!
═══════════════════════════════ ← Line?
This might be an IMAGE PLACEHOLDER or COLORED BOX, not text!
Ask user to confirm.
When in doubt: If spacing is disproportionately large compared to UI elements, ask: "Is this text or an image/box?"
The position of line pairs within the section indicates text alignment
| Alignment | Visual Indicator | Typical Use |
|---|---|---|
| Left-aligned | Lines start at left edge of container | Body text, lists, labels |
| Center-aligned | Lines centered, equal spacing both sides | Headlines, hero text, CTAs |
| Right-aligned | Lines end at right edge of container | Captions, metadata, prices, dates |
| Justified | Lines extend full width of container | Dense body text, formal content |
Left-Aligned Text:
Container: | |
═════════════════════════ ← Starts at left edge
═════════════════════════
[empty space →]
Center-Aligned Text:
Container: | |
═════════════════════════ ← Centered in container
═════════════════════════
Right-Aligned Text:
Container: | |
═════════════ ← Ends at right edge
═════════════
Justified/Full-Width Text:
Container: | |
═════════════════════════════════════════════════════ ← Spans full width
═════════════════════════════════════════════════════
| Lines in Sketch | Content Type | Character Estimate |
|---|---|---|
| 1-2 lines | Heading/Title | 20-60 characters total |
| 3-5 lines | Short paragraph | 150-350 characters |
| 6-10 lines | Full paragraph | 400-700 characters |
| 10+ lines | Long content | 700+ characters |
Line-height is derived from font size and spacing:
Line-height ratio = (Distance between lines) / (Estimated font size)
Example:
Distance: 28px
Font size: 24px
Line-height: 28 / 24 = 1.16 ≈ 1.2
Typical ratios:
1.6-1.8 = Loose (airy text)
Left-aligned: Center-aligned: Right-aligned:
────────────────── ────────────────── ──────────────────
────────────────── ────────────── ──────────────────
────────────────── ────────── ──────────────────
Based on estimated font size and line width:
Large Heading (~48px): ═══════════════════ = ~20-25 chars
Medium Heading (~36px): ═══════════════════════ = ~25-30 chars
Small Heading (~24px): ─────────────────────── = ~40-50 chars
Body Text (~16px): ──────────────────────────────── = ~60-70 chars
Caption (~12px): ──────────────────────────────────── = ~80-90 chars
Sketch shows:
═══════════════════════════════ ← Line 1 (thick, center)
═══════════════════════════ ← Line 2 (thick, center)
Analysis:
Content Guidance:
English: "Welcome to Your / Dog Care Hub" (48 chars) ✅
Swedish: "Välkommen till Din / Hundvårdshub" (50 chars) ✅
Sketch shows:
───────────────────────────────────────── ← Line 1
───────────────────────────────────────── ← Line 2
───────────────────────────────────────── ← Line 3
───────────────────────────────────────── ← Line 4
Analysis:
Content Guidance:
English: "Organize your family around dog care. Assign walks, track
feeding schedules, and never miss a walk again. Perfect for busy
families who want to ensure their dogs get the care they need."
(206 chars) ✅
Swedish: "Organisera din familj kring hundvård. Tilldela promenader,
spåra matscheman och missa aldrig en promenad igen. Perfekt för
upptagna familjer som vill säkerställa att deras hundar får den
vård de behöver." (218 chars) ✅
Sketch shows:
[────────────] ← Single line inside button shape
Analysis:
Content Guidance:
English: "Get Started" (11 chars) ✅
Swedish: "Kom Igång" (9 chars) ✅
When analyzing sketches with text placeholders:
How many horizontal bar groups do you see?
Line thickness indicates font weight (RELATIVE comparison):
- Thickest lines → Bold (font-weight: 700)
- Thick lines → Semibold (font-weight: 600)
- Medium lines → Medium (font-weight: 500)
- Thin lines → Regular (font-weight: 400)
- Thinnest lines → Light (font-weight: 300)
Vertical spacing relative to context anchors:
- Matches Button Height → ~40-48px font (Large Heading)
- Matches Address Bar → ~32-40px font (Medium Heading)
- Between Button & Icon → ~24-32px font (Small Heading)
- Matches Icon/Scrollbar → ~16-24px font (Body Text)
- Half Icon Size → ~12-16px font (Caption/Small Text)
⚠️ If spacing is disproportionately large, verify this is text (not image/box)!
NOTE: Visual size ≠ Semantic HTML level (H1/H2/H3).
Semantic heading levels are determined by content structure, not appearance.
Line-height = Distance between lines / Font size
Example:
- Distance: 28px
- Font size: 24px
- Line-height: 28 / 24 = 1.16 ≈ 1.2
Lines × Characters-per-line = Total capacity
Example:
5 lines × 60 chars/line = 300 characters
"Content should be: [type], [line count] lines, ~[total chars] characters"
Example:
"Content should be: Full paragraph, 5 lines, ~300 characters"
If user provides content:
- Count actual characters
- Compare to capacity
- Warn if mismatch
Example:
⚠️ Your content (450 chars) exceeds sketch capacity (300 chars).
Consider shortening or increasing font size.
✅ Accurate Content Generation
✅ Design Fidelity
✅ Multilingual Support
✅ Quality Assurance
User shares Dog Week sketch of profile setup page
Agent analyzes:
"Looking at the profile section heading, I see 2 thick horizontal lines, center-aligned at the top.
Analysis:
- 2 lines of text (thick bars)
- Line thickness: Thick (relative) → Bold weight
- Spacing: Less than button height → ~28-32px font
- Line-height: ~1.3 (calculated)
- Alignment: Center
- Capacity: ~50-60 characters (25-30 per line)
This heading should be: Brief, 2 short lines, ~50-60 characters total
Suggested content:
- EN: "Complete Your / Profile Setup" (41 chars) ✅
- SV: "Slutför Din / Profilinställning" (45 chars) ✅
Both fit comfortably within the designed space. Does this match your intent?"
This analysis happens automatically in:
Result: Every text element in WDS specifications includes accurate character capacity and content guidance! 🎨✨
This guide ensures all WDS projects generate content that perfectly fits the designed space.