# Word Parts & Meaning Phase — Week Template Overview

**Phase:** Weeks 13+ (Prefixes, Suffixes, Homophones, Word Meaning)
**Generators:** `monday_wp.py`, `tuesday_wp.py`, `wednesday_wp.py`, `thursday_wp.py`, `friday_wp.py`
**Helper:** `helpers.py` (shared CSS, `header()`, `sectitle()`, `secnote()`, `write_line()`, `word_bank()`, `fill_blank_with_line()`, `remember_box()`, `page_break()`)

---

## Weekly Data Structure

Each week needs ONE data file (`generate_weekN.py`) containing:

```python
# ═══ SHARED DATA ═══
words = [                                          # 12 words
    ("full_word", "part + part", "definition"),
    ...
]
learning_text = "...HTML concept explanation..."   # Used Mon-Wed

# ═══ MONDAY DATA ═══
story_text = "...HTML story with <strong>words</strong>..."
prefix_examples = ["un- = not", "re- = again", ...]     # 6 items
grammar_note = "Pronouns"                               # Short label
grammar_deep = "...full explanation..."                 # HTML
grammar_practice = ["The boy and girl played. (______)", ...]  # 6 items
sort_labels = ["un-", "re-", "dis-"]                   # Column headers
fill_data = [("She felt __________.", "unhappy"), ...]  # 8 items
opposite_words = ["unhappy", "unknown", ...]            # 6 items
sentence_words = WORD_NAMES[:8]                         # 8 items
add_prefix_data = [("happy", "un-", "unhappy"), ...]   # 8 items

# ═══ TUESDAY DATA ═══
reading_text = "...HTML story..."                      # Different from Monday
comp_questions = ["What happened?", ...]               # 4 items
word_part_examples = ["un- = NOT", ...]                # 4 items
remember_boxes = [                                     # 2 items
    ("Remember!", "..."),
    ("Tip!", "..."),
]
word_part_hunt = {                                     # Checkboxes
    "match": ["unhappy", "unpack", ...],
    "decoy": ["happy", "pack", ...],
}
swap_data = [                                          # 1+ items
    ("Original sentence.", ("old1", "new1"), ("old2", "new2")),
]
builder_prompts = [                                    # 3 items
    ("Write about X.", "keyword"),
]
identify_data = [                                      # 4 items
    ("word", "What is the prefix? What does it mean?"),
]

# ═══ WEDNESDAY DATA ═══
reading_passage = "...HTML story..."                   # Different from Mon/Tue
vocab_question = "A) ... B) ... C) ... D) ..."        # Multiple choice
syn_ant_words = ["word1", "word2", ...]                # 6 items
word_web_center = "prefix"                             # Center word
word_web_instruction = "Write 4 words..."
sentence_sort_data = ["The boy disagreed with friend", ...]  # 3 items
correct_sentences = ["the boy was dishonest...", ...]  # 3 items
fill_data = [("She was __________.", "unhappy"), ...]  # 5 items
context_clue = "...passage + question..."
word_families = [                                      # 6 items
    ("happy", ["unhappy"]),
]
learning_skills = [                                    # 3 items
    "Using context clues",
]

# ═══ THURSDAY DATA ═══
story_text = "...HTML story..."                        # Different story
comp_questions = ["What happened?", ...]               # 4 items
remember_text = "un- = NOT\nre- = again\ndis- = NOT"  # Multi-line
sentence_sort_data = ["The boy disagreed...", ...]     # 3 items
detective_words = ["unhppy", "unpak", ...]             # 5 misspelled
build_words = [                                        # 5 items
    ("pack", "un-", "take out"),
]
swap_data = [...]                                      # 1+ items
map_word = "discover"                                  # Featured word
para_prompts = [                                       # 2 items
    "Write about X. Use 2 spelling words.",
]
story_prompt = "Write a story. Use at least 5 spelling words."

# ═══ FRIDAY DATA ═══
review_story = "...HTML story..."                      # Review story
story_questions = ["What happened?", ...]              # 4 items
opposite_words = ["unhappy", ...]                      # 6 items
builder_words = ["discover", "return", ...]            # 5 items
journal_words = ["word1", ...]                         # 6 items (NOT all 12)
```

---

## Day-by-Day Summary

| Day | Theme | Pages | Forced Breaks | Activities | Key Differentiator |
|---|---|---|---|---|---|
| **Monday** | Learn It | ~6 | 5 | 8 | Word cards + grammar + copy practice |
| **Tuesday** | Practice It | ~3 | 2 | 7 | Reading + word hunt + identify |
| **Wednesday** | Connect It | ~4 | 2 | 8 | Vocab question + word web + syn/ant |
| **Thursday** | Write It | ~5 | 3 | 7 | Spelling detective + word map + story |
| **Friday** | Show What You Know | ~3 | 2 | 4 | Test + review + journal (6 words) |

---

## Generation Command

```bash
cd ~/Home_School/2nd_Grade/English_Language_Arts/Week_XX
python3 generate_weekXX.py
```

Output structure:
```
Week_XX/
├── Monday/Week0X_Monday_TOPIC.pdf
├── Tuesday/Week0X_Tuesday_TOPIC.pdf
├── Wednesday/Week0X_Wednesday_TOPIC.pdf
├── Thursday/Week0X_Thursday_TOPIC.pdf
├── Friday/Week0X_Friday_TOPIC.pdf
└── Teacher_Guide/Week0X_Teacher_Guide_TOPIC.pdf
```

---

## Template Files

- `TEMPLATE_MONDAY_WP.md` — Monday layout reference
- `TEMPLATE_TUESDAY_WP.md` — Tuesday layout reference
- `TEMPLATE_WEDNESDAY_WP.md` — Wednesday layout reference
- `TEMPLATE_THURSDAY_WP.md` — Thursday layout reference
- `TEMPLATE_FRIDAY_WP.md` — Friday layout reference