diff --git a/README.md b/README.md index 2ea2fd1..c8256d2 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ A reactive, interactive dog breeding genealogy mapping system for professional k - **✅ Search & Filter** - Find dogs by name, breed, sex, and more - **✅ Branded Navigation** - Custom logo (br-logo.png) with gold-to-rusty-red gradient title - **✅ Trial Pairing Simulator** - COI calculator with common ancestors table and risk badge -- **✅ Heat Cycle Calendar** - Month grid calendar with cycle windows and breeding date suggestions +- **✅ Heat Cycle Calendar** - Month grid calendar with cycle windows, breeding date suggestions, and **projected whelping identifiers** ### Database Architecture - **✅ Clean Schema** - No migrations, fresh installs create correct structure @@ -24,7 +24,18 @@ A reactive, interactive dog breeding genealogy mapping system for professional k - **✅ Heat Cycles** - Breeding cycle tracking - **✅ Genetic Traits** - Inherited trait mapping -### Recently Added (March 9, 2026) +### Recently Added (March 9, 2026 — v0.5.1) +- **✅ Projected Whelp Window on Calendar** - Indigo/purple day cells (days 58–65 from breeding date) visible directly on the month grid +- **✅ Expected Whelp Day Marker** - Indigo dot on the exact expected whelp day (day 63) alongside the green breeding dot +- **✅ "[Name] due" Cell Label** - Baby 🍼 icon + dog name label inside the whelp day cell +- **✅ Active Cycle Card — Whelp Range** - "Whelp est. [date]" row with earliest–latest range shown on each active cycle card +- **✅ Jump-to-Whelp-Month Button** - One-click navigation to the whelp month when it differs from current view +- **✅ Live Whelp Preview in Modal** - Instant client-side earliest/expected/latest preview as soon as a breeding date is entered (no save required) +- **✅ Whelping Banner** - Full-width indigo banner listing dogs with projected whelps when no active heat cycles are visible +- **✅ Legend Entry** - "Projected Whelp" added to calendar legend +- **✅ Updated Page Subtitle** - Now reads: *"Track heat cycles, optimal breeding windows, and projected whelping dates"* + +### Previously Added (March 9, 2026 — v0.5.0) - **✅ Heat Cycle Calendar** - Full month grid with color-coded cycle windows (Proestrus / Optimal / Late Estrus / Diestrus) - **✅ Start Cycle Modal** - Click any day or the header button to log a new heat cycle for a female - **✅ Breeding Date Suggestions** - Phase windows with date ranges loaded from `GET /api/breeding/heat-cycles/:id/suggestions` @@ -33,7 +44,7 @@ A reactive, interactive dog breeding genealogy mapping system for professional k - **✅ Pairing Nav Link** - `FlaskConical` icon added to navbar - **✅ New API Endpoints** - `GET /api/breeding/heat-cycles`, `GET /api/breeding/heat-cycles/:id/suggestions` -### Previously Added (March 9, 2026) +### Previously Added (March 9, 2026 — v0.4.x) - **✅ Brand Logo** - Custom `br-logo.png` in navbar replacing generic icon - **✅ Gradient Title** - Gold-to-rusty-red gradient on "BREEDR" brand text - **✅ Static Asset Serving** - `/static` directory served by Express for branding assets @@ -141,7 +152,7 @@ breedr/ ├── client/ # React frontend │ ├── src/ │ │ ├── pages/ -│ │ │ ├── BreedingCalendar.jsx # Heat cycle calendar (month grid) +│ │ │ ├── BreedingCalendar.jsx # Heat cycle calendar + whelping identifiers │ │ │ ├── PairingSimulator.jsx # Trial pairing + COI │ │ │ ├── Dashboard.jsx │ │ │ ├── DogList.jsx @@ -248,6 +259,10 @@ Ensure `br-logo.png` is placed in the `static/` directory at the project root. T Ensure dogs are registered with `sex: 'female'` before creating heat cycles. The API validates this and will return a 400 error for male dogs. +### Whelping window not appearing on calendar + +A breeding date must be logged on the cycle for whelp window cells to appear. Use the Cycle Detail modal → "Log Breeding Date" field. The whelp preview appears client-side instantly; the calendar cells populate after save. + ## Roadmap ### ✅ Completed @@ -264,6 +279,7 @@ Ensure dogs are registered with `sex: 'female'` before creating heat cycles. The - [x] Static asset serving - [x] Trial Pairing Simulator (COI + common ancestors + risk badge) - [x] Heat Cycle Calendar (month grid + windows + breeding suggestions + whelping estimate) +- [x] **Projected Whelping Calendar Identifier** (whelp window cells, due label, active card range, live modal preview, whelping banner) ### 🔧 In Progress / Up Next - [ ] Health Records System @@ -279,6 +295,17 @@ Ensure dogs are registered with `sex: 'female'` before creating heat cycles. The ## Recent Updates +### March 9, 2026 - Projected Whelping Calendar Identifier (v0.5.1) +- **Added:** Indigo whelp window (days 58–65) on calendar grid cells when a breeding date is logged +- **Added:** Indigo dot marker on exact expected whelp day (day 63) +- **Added:** `Baby` icon + "[Name] due" label inside whelp day cells +- **Added:** "Whelp est. [date]" row with earliest–latest range on active cycle cards +- **Added:** Jump-to-whelp-month button on active cycle cards +- **Added:** Live whelp preview in Cycle Detail modal (client-side, instant, no save required) +- **Added:** Full-width whelping banner when projected whelps exist but no active heat cycles are visible +- **Added:** "Projected Whelp" legend entry with Baby icon +- **Updated:** Page subtitle to include projected whelping dates + ### March 9, 2026 - Heat Cycle Calendar & Trial Pairing Simulator (v0.5.0) - **Added:** Full month grid heat cycle calendar with color-coded phase windows - **Added:** Start Heat Cycle modal (click any day or header button) diff --git a/ROADMAP.md b/ROADMAP.md index 3d93d99..4a66b30 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -112,6 +112,19 @@ - [x] `GET /api/breeding/heat-cycles` endpoint - [x] `GET /api/breeding/heat-cycles/:id/suggestions` endpoint +- [x] **Projected Whelping Calendar Identifier** ✅ *(March 9, 2026 — v0.5.1)* + - [x] Gestation constants: earliest=58, expected=63, latest=65 days + - [x] `getWhelpDates(cycle)` client-side helper (no extra API call) + - [x] Indigo whelp window cells (days 58–65) on calendar grid + - [x] Indigo dot marker on expected whelp day (day 63) + - [x] `Baby` icon + "[Name] due" label inside whelp day cells + - [x] "Whelp est. [date]" row with range on active cycle cards + - [x] Jump-to-whelp-month button on active cycle cards + - [x] Live whelp preview in Cycle Detail modal (client-side, instant) + - [x] Full-width whelping banner when projected whelps exist + - [x] "Projected Whelp" legend entry with Baby icon + - [x] Updated page subtitle to include whelping dates + --- ## 📋 Phase 4: Health & Genetics (NEXT UP) @@ -225,7 +238,13 @@ ## 🌕 Current Sprint: v0.6.0 -### ✅ Completed This Sprint (v0.5.0) +### ✅ Completed This Sprint (v0.5.1) +- [x] Projected Whelping Calendar Identifier — indigo whelp window cells, due label, active card range, jump-to-month button +- [x] Live whelp preview in Cycle Detail modal (client-side, no save required) +- [x] Full-width whelping banner for months with projected whelps +- [x] "Projected Whelp" legend entry + updated page subtitle + +### ✅ Previously Completed (v0.5.0) - [x] Trial Pairing Simulator — `/pairing` route, COI%, risk badge, common ancestors - [x] Heat Cycle Calendar — month grid, phase color coding, start-cycle modal - [x] Cycle Detail modal — breeding windows, inline breeding date, whelping estimate @@ -234,7 +253,7 @@ ### 🔧 Next Up (Priority Order) -#### Option 1: Health Records System (Recommended) 👆 +#### Option 1: Health Records System (Recommended) 💡 **Complexity:** Medium | **Impact:** High | **User Value:** Excellent **Why this is recommended:** @@ -284,6 +303,7 @@ - [x] Static asset serving in prod and dev - [ ] Trial pairing simulator (end-to-end) - [ ] Heat cycle calendar (start cycle, detail modal, whelping) +- [ ] Projected whelping calendar identifier (whelp cells, due label, banner) - [ ] Health records ### Known Issues @@ -301,6 +321,16 @@ ## Version History +- **v0.5.1** (March 9, 2026) - Projected Whelping Calendar Identifier + - Indigo whelp window cells (days 58–65) on month grid + - Indigo dot marker on exact expected whelp day (day 63) + - `Baby` icon + "[Name] due" label in whelp day cells + - "Whelp est." range row on active cycle cards + - Jump-to-whelp-month button on cycle cards + - Live whelp preview in Cycle Detail modal (client-side, instant) + - Full-width whelping banner when projected whelps exist + - "Projected Whelp" legend entry + updated page subtitle + - **v0.5.0** (March 9, 2026) - Breeding Tools Complete - Trial Pairing Simulator: COI calculator, risk badge, common ancestors - Heat Cycle Calendar: month grid, phase windows, start-cycle modal