@@ -463,6 +463,61 @@ Separated provider data download from automatic application to prevent data corr
463463- ` scripts/migrate-fs-photos.ts ` - ** NEW** photo migration
464464- ` scripts/migrate-legacy-cache.ts ` - ** NEW** cache migration
465465
466+ ### Phase 15.21: Tree Visualization Parity with Ancestry.com
467+
468+ Enhanced tree views matching Ancestry.com visualization modes:
469+
470+ ** New View Modes (5 total):**
471+ 1 . ** Fan Chart** (default) - Radial chart with lineage-colored wedges
472+ - Paternal line: cool colors (blue/teal)
473+ - Maternal line: warm colors (red/coral)
474+ - SVG-based with zoom/pan support
475+ 2 . ** Horizontal Pedigree** - Root left, ancestors right (Ancestry-style)
476+ - DOM-based cards with SVG connector lines
477+ - Expandable nodes for loading more ancestors
478+ 3 . ** Vertical Family** - Ancestors top, root middle (classic family tree)
479+ - Generation labels ("Michael's parents", "Michael's grandparents")
480+ - Clean CSS-based connecting lines
481+ 4 . ** Columns** - Horizontal generational columns (existing)
482+ 5 . ** Focus** - Single person navigator (existing)
483+
484+ ** URL-Based Routing:**
485+ - ` /tree/:dbId/:personId/fan ` - Fan chart (default)
486+ - ` /tree/:dbId/:personId/horizontal ` - Horizontal pedigree
487+ - ` /tree/:dbId/:personId/vertical ` - Vertical family view
488+ - ` /tree/:dbId/:personId/columns ` - Generational columns
489+ - ` /tree/:dbId/:personId/focus ` - Focus navigator
490+
491+ ** Shared Components:**
492+ - ` TreeCanvas.tsx ` - D3 zoom/pan wrapper with hooks
493+ - ` TreeControls.tsx ` - Generation selector, zoom buttons
494+ - ` AncestorNode.tsx ` - Reusable person card with lineage colors
495+
496+ ** Utilities:**
497+ - ` lineageColors.ts ` - Paternal/maternal color schemes
498+ - ` treeLayout.ts ` - Node positioning calculations
499+ - ` arcGenerator.ts ` - Fan chart arc path generation
500+
501+ ** Bug Fixes:**
502+ - Replaced hardcoded initial transform with dynamic centering
503+ - Replaced ` setTimeout ` with ` ResizeObserver ` for layout calculations
504+
505+ ** Files Created:**
506+ - ` client/src/components/ancestry-tree/utils/lineageColors.ts `
507+ - ` client/src/components/ancestry-tree/utils/treeLayout.ts `
508+ - ` client/src/components/ancestry-tree/utils/arcGenerator.ts `
509+ - ` client/src/components/ancestry-tree/shared/TreeCanvas.tsx `
510+ - ` client/src/components/ancestry-tree/shared/TreeControls.tsx `
511+ - ` client/src/components/ancestry-tree/shared/AncestorNode.tsx `
512+ - ` client/src/components/ancestry-tree/views/HorizontalPedigreeView.tsx `
513+ - ` client/src/components/ancestry-tree/views/FanChartView.tsx `
514+ - ` client/src/components/ancestry-tree/views/VerticalFamilyView.tsx `
515+
516+ ** Files Modified:**
517+ - ` client/src/App.tsx ` - Added view mode route
518+ - ` client/src/components/ancestry-tree/AncestryTreeView.tsx ` - View switcher dropdown, URL routing
519+ - ` client/src/index.css ` - Lineage color CSS variables
520+
466521### Phase 16: Multi-Platform Sync (Remaining Items)
467522
468523- ~~ Provider cache structure~~ (completed in 15.11)
0 commit comments