Add project README with features, installation instructions, and ELK
layout explanation. Fix license identifier from GPL-3.0 to AGPL-3.0 in
composer.json and module.php to match the actual LICENSE file. Remove
sync.sh from version control and add it to .gitignore.
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.
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.
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.
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.
- 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
- 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
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