Commit Graph

7 Commits

Author SHA1 Message Date
96d1425036 Improve indicators and fix hover card age calculation
Draw ancestor/descendant indicators behind card, make them clickable
(navigates to person), use sharper box corners (rx=1). Fix age
calculation to use full birth/death dates instead of just years,
correctly accounting for whether the birthday has passed.
2026-03-15 09:22:04 +01:00
62f1c335e7 Move overlapping childless spouses to nearest row edge
After Y-snapping, spouses without shared children can land on top of
each other. Detect these overlaps and move the spouse to the nearest
edge of the generation row without affecting other cards.
2026-03-14 21:37:42 +01:00
cc33792377 Simplify layout: use raw ELK X, Y-snap generations, multi-spouse offsets
Remove post-processing collision resolution that fought ELK's layout.
Keep only Y-snapping (same generation = same row) and grid-aligned
connector Y positions. Add offset drop lines for parents with multiple
spouses so each family unit is visually distinct.
2026-03-14 21:24:00 +01:00
7528d30de1 Add "more descendants" indicator and fix indicator draw order
Show small child-box indicators at bottom-right of person cards when
descendants exist beyond the current view. Fix both ancestor and
descendant indicators to draw connecting lines behind boxes.
2026-03-14 20:37:42 +01:00
272ee41df6 Fix spouse overlap, reset defaults to 3 gen, remove sliders
- Add collision resolution pass after Y-snapping: sweeps each
  generation row left-to-right pushing overlapping cards apart,
  then re-centers the row to prevent drift
- Reset default generations to 3 (up from 4) to avoid layout issues
- Remove generation sliders from chart page for simplicity
- Add sync.sh for deployment to server
2026-03-14 20:30:38 +01:00
04ff9f4711 Add homepage block, reactive controls, i18n, and full-width layout
- Implement ModuleBlockInterface for tree/user homepage embedding
  with configurable individual and generation settings
- Make generation sliders reactive (auto-navigate on change)
- Persist generation counts when clicking between persons
- Expand chart to full viewport width and remaining height
- Add German and Dutch translations for all custom strings
- Pass translated labels to JS bio card tooltip via window.fullDiagramI18n
- Use webtrees core translation keys where available
- Increase default generations to 4, remove show siblings checkbox
- Expose Chart class globally for block instantiation
2026-03-14 19:53:12 +01:00
273e398431 Initial commit: webtrees full diagram chart module
Interactive SVG family tree visualization using ELK (Sugiyama) for
layout and D3 for rendering. Shows ancestors, descendants, and siblings
in a single diagram with orthogonal bus-line connectors.

Features:
- Bidirectional tree traversal (ancestors + descendants + siblings)
- Generation-aligned layout with post-processing Y-snap
- Person cards with photos, names, dates, and hover bio cards
- "More ancestors" indicator for persons with hidden parents
- Pan/zoom navigation
- Docker dev environment
2026-03-14 18:52:17 +01:00