=== GeneaCanvas GEDCOM Family Tree ===
Contributors: donarkanio
Tags: family tree, genealogy, gedcom, pedigree, ancestry
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.2.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

A prestigious, fully interactive and animated organic family tree (D3.js). Transform raw GEDCOM files into engaging vector pedigree charts.

== Description ==

**GeneaCanvas GEDCOM Family Tree** is an exclusive, highly responsive, and animated family tree visualizer for WordPress powered by **D3.js**.

Import standard GEDCOM files (`.ged` or `.txt`) directly from your WordPress Media Library and instantly generate clean, interactive vector canvases on any post or page.

[View Interactive Demo](https://wptreecanvas.com/demo/) | [Upgrade to PRO](https://wptreecanvas.com/)

---

### 🌳 Free Features Included in GeneaCanvas

* **Fluid Interactive D3.js Canvas:** Smooth drag, pan, and zoom controls optimized for both desktop and mobile touchscreens.
* **Organic Layout:** Staggering structure that prevents overlapping nodes, ensuring clean and readable descendant trees.
* **Pedigree / Ancestors View:** Focus on a specific person and instantly generate a clean, direct-line ancestor chart (bottom-up) excluding collateral lines.
* **Level of Detail (LOD) / Dot Mode:** Automatically compresses complex family nodes into lightweight vector dots at high zoom-out levels for smooth rendering.
* **Real-time Search & Focus:** Instant ancestor search with auto-pan and smooth highlight animations focusing on the searched branch.
* **Interactive Ancestor Sidebar:** Clicking any person slides out a detailed profile card displaying birth/death dates, locations, and calculated kinship links.
* **Unlimited Individuals & Trees:** Full freedom to import and publish family databases of any size.
* **Native Shortcode Integration:** Embed trees anywhere using the simple `[gcanvas_tree id="YOUR_ID"]` shortcode.
* **Translation Ready:** Fully localized with English and Polish included.

---

### 👑 Premium Capabilities in GeneaCanvas PRO

Need advanced features for family reunions, printing, or client sites? The **GeneaCanvas PRO** extension unlocks:

* **Hourglass View:** Place a selected person in the center to simultaneously visualize their ancestors extending upwards and descendants downwards.
* **Kinship Calculator & Visual Lines:** Automatically calculate relationships between any two family members and draw dynamic connecting lines across the canvas.
* **Geotagging & Interactive Maps:** Extract life events (births, marriages, deaths) and plot them dynamically on an interactive geographical map view.
* **Extended Profile Modal:** Access the full depth of your GEDCOM data, including extensive notes, historical sources, occupations, and custom events.
* **Sequential Node Animations:** Premium cascading animations that build the tree generation by generation for a stunning visual experience.
* **High-Resolution Vector Export (PDF / SVG):** Generate ultra-sharp, lossless vector files ready for large-format poster printing.
* **Theme & Style Customizer:** Change colors, fonts, card borders, and line curves directly from the dashboard.
* **Priority Support:** Fast assistance and automated background updates.

👉 [Learn more about GeneaCanvas PRO](https://wptreecanvas.com/)

---

### 📂 Broad GEDCOM Compatibility

GeneaCanvas adheres to the standard GEDCOM 5.5 / 5.5.1 specification and supports exports from all major genealogy software and platforms:

* Gramps
* RootsMagic
* Family Tree Maker (FTM)
* MyHeritage
* Ancestry.com
* Legacy Family Tree
* Ahnenblatt

== Installation ==

1. Upload the `geneacanvas-gedcom-tree` folder to the `/wp-content/plugins/` directory, or install the `.zip` file via **Plugins -> Add New -> Upload Plugin**.
2. Activate the plugin through the **Plugins** menu in WordPress.
3. Go to **Trees (Canvas)** in your WordPress admin sidebar and click **Add New**.
4. Configure title, height, startup view, and upload your `.ged` or `.txt` file.
5. Copy the generated shortcode (e.g. `[gcanvas_tree id="12"]`) and paste it into any page or post.

== Frequently Asked Questions ==

= What file formats are supported? =
Standard GEDCOM (`.ged` or `.txt`) files exported from any genealogy software.

= Is there a limit on the number of people or trees in the free version? =
No. GeneaCanvas allows you to import unlimited individuals and create unlimited family trees without artificial restrictions.

= How do I embed a tree on a specific page? =
Simply paste the shortcode generated in the tree settings, for example: `[gcanvas_tree id="123"]`.

= How do I export my tree to a high-resolution printable PDF? =
High-resolution vector export (PDF and SVG) for large-format physical posters is available in [GeneaCanvas PRO](https://wptreecanvas.com/pro).

== Screenshots ==

1. Interactive D3.js animated family tree canvas on the frontend.
2. Custom Post Type configuration dashboard in the WordPress admin panel.
3. Interactive ancestor detail sidebar displaying dates and relations.

== Changelog ==

= 1.2.0 =
* Feature: Introduced the "Pedigree View" (Ancestors Mode). You can now select any person and generate a clean, direct-line ancestor chart upwards without collateral branches.
* Feature: Added a "Return to full tree" reset button in the UI to seamlessly switch back to the complete canvas view.
* Enhancement: Updated `readme.txt` tags to strictly comply with WordPress.org repository guidelines (limited to 5 tags).
* Enhancement: Prepared core architecture to seamlessly integrate with new GeneaCanvas PRO features (Hourglass View, Interactive Maps, Kinship Calculator).

= 1.1.4 =
* Fix: Fixed clan root detection and descendant tree building for multiple marriages — prevented mothers from hijacking husband clans and combining half-siblings under step-parents.
* Enhancement: Added interactive background SVG tree artwork into the D3 canvas layer that zooms, pans, and dynamically adopts the active color theme.
* Enhancement: Implemented dynamic bounding box calculation for the background tree — automatically resizes to fit small clans (1-2 generations) as well as massive Giga-Trees.
* Fix: Bottom-anchored the background tree to ensure root ancestors and founder cards always sit naturally at the trunk and roots.
* Fix: Fixed WordPress `wp_localize_script` boolean string-casting bug where startup settings for "Dot Mode" and "Organic (Beautiful) Tree" were ignored.
* Fix: Resolved startup view bug where selecting "Giga-Tree" or specific clans defaulted back to the Forest view.
* Fix: Added event protection against synthetic browser autofill and theme `change` events on the clan selector dropdown during page load.
* Fix: Improved `resetTreePerspective()` camera framing with responsive scaling for mobile/tablet screens and support for Giga-Tree with duplicates.

= 1.1.3 =
* Fix: Improved tree canvas rendering logic.
* Tweak: Redesigned header layout into a structured two-row layout (clan title and statistics on top, toolbar controls below).
* Fix: Removed unwanted theme margins between the clan title and subtitle.
* Tweak: Removed bottom border line from the header for a cleaner, modern look.
* Tweak: Improved responsiveness and alignment of the stats block and control buttons.

= 1.1.2 =
* Enhancement: Redesigned mobile and tablet UX with an ultra-compact HUD and fixed bottom clan navigation bar.
* Enhancement: Dynamic branch and line stroke highlighting now fully inherits active CSS theme colors.
* Enhancement: Optimized D3.js spacing grid to ensure spouses and siblings never overlap in standard tree mode.
* Enhancement: Integrated extensible JavaScript callback hooks for modular tree layout customizers.
* Enhancement: Standardized all internal file operations using native WP_Filesystem and wp_delete_file APIs.
* Fix: Expanded SVG foreignObject viewport bounds to eliminate rectangular clipping on glow highlight animations.
* Fix: Added automated mobile sidebar drawer closing when navigating through relatives and search results.
* Fix: Adjusted mobile z-index layering so full-width details drawers seamlessly overlay navigation controls.
* Fix: Hardened security with comprehensive input unslashing, sanitization, and output escaping.
* Fix: Unified all internal function prefixes and text domains to match WordPress.org standards.

= 1.1.1 =
* Enhanced translation loading and text domain handling.
* Expanded and improved documentation.
* Performance optimizations for large GEDCOM datasets.

= 1.1.0 =
* Initial public release on WordPress.org.