# Tuesday Template — Word Parts & Meaning Phase
**Theme:** Practice It
**Pages:** ~3 (continuous flow with 2 forced breaks)
**Generator:** `tuesday_wp.py` → `generate_tuesday()`
---
## Page Layout
### PAGE 1 — Word Parts Introduction
| Section | Data Key | Description |
|---|---|---|
| Header | auto | "Week N, Tuesday -- TOPIC" |
| **Here's What We're Learning** | `learning_text` | HTML explanation of the concept |
| **Word Part Examples** | `word_part_examples` | 2-column list of examples (e.g., "un- at start = NOT") |
| **Remember This!** (box #1) | `remember_boxes[0]` | Reminder/tip box (green background) |
| **Word Scramble Challenge** | auto (all 12 words) | 2-column table. Letters scrambled, write line underneath |
→ **[PAGE BREAK]** ←
### PAGE 2 — Reading + Word Part Hunt
| Section | Data Key | Description |
|---|---|---|
| Divider | auto | Dashed line |
| **Reading Comprehension** | `reading_text` | Story with bolded spelling words in story-box |
| Divider | auto | Dashed line |
| **Comprehension Questions** | `comp_questions` | 4 questions, each with write line |
| Divider | auto | Dashed line |
| **Word Part Hunt** (custom title) | `word_part_hunt` | Checkboxes: match words + decoy words, shuffled |
→ **[PAGE BREAK]** ←
### PAGE 3 — Application
| Section | Data Key | Description |
|---|---|---|
| **Remember This!** (box #2) | `remember_boxes[1]` | Second reminder/tip box |
| **Identify the Word Part** | `identify_data` | 4 items: word + question + write line |
| **Word Swap Challenge** | `swap_data` | Original sentence highlighted → rewrite with new words |
| **Sentence Builder** | `builder_prompts` | 3 prompts with keyword hints, write lines |
→ End of document
---
## Required Data (for `generate_tuesday()`)
```python
words = [ # 12 items
("unhappy", "un + happy", "not happy, sad"),
...
]
learning_text = "...HTML..." # Concept explanation
word_part_examples = [ # 4 items
"un- at the start = NOT (unhappy = not happy)",
"re- at the start = AGAIN (return = turn again)",
...
]
remember_boxes = [ # 2 items
("Remember!", "A prefix goes at the BEGINNING of a word."),
("Tip!", "Look for un-, re-, and dis- at the start of words."),
]
reading_text = "...HTML..." # Story with <strong>bolded words</strong>
comp_questions = [ # 4 items
"What did Leo discover behind the bookshelves?",
...
]
word_part_hunt = { # dict
"match": ["unhappy", "unpack", ...], # words WITH the target word part
"decoy": ["happy", "pack", ...], # words WITHOUT it
}
word_part_hunt_instruction = "Check each word that contains a prefix..."
word_part_hunt_title = "Prefix Hunt"
swap_data = [ # 1+ items
("The door was closed.", ("closed", "unknown"), ("unknown", "unopened")),
]
builder_prompts = [ # 3 items
("Write about finding something new.", "discover"),
("Write about going back somewhere.", "return"),
...
]
identify_data = [ # 4 items
("unhappy", "What is the prefix? What does it mean?"),
("return", "What is the prefix? What does it mean?"),
...
]
```
---
## Design Notes
- Word Scramble auto-shuffles ALL 12 word names (seeded by `hash(word)`)
- Word Part Hunt shuffles match+decoy words together (seed 77)
- Remember boxes use `remember_box()` helper: green background, title + content
- Word Swap: original sentence in orange box with highlighted words
- Sentence Builder: orange box with italic prompt + bold keyword
- Page breaks: after Word Scramble (page 1), after Word Part Hunt (page 2)