Advanced Features - banisterious/obsidian-charted-roots GitHub Wiki
Advanced Features
This page covers additional features: folder statistics, Excalidraw export, and the split canvas wizard.
Table of Contents
Folder Statistics
View comprehensive analytics about person notes in any folder.
Accessing Folder Statistics
- Right-click on any folder in the file explorer
- Select View folder statistics
- Review the statistics modal
Available Metrics
Data Completeness:
- Percentage of notes with required fields (name, cr_id)
- Percentage with birth/death dates
- Percentage with relationship data (parents, spouses, children)
Relationship Health:
- Count of orphaned persons (no parents, no children)
- Count of incomplete relationships (missing reciprocal links)
- Count of people marked as root persons
Family Structure:
- Total person count
- Gender distribution (male/female/unknown)
- Average relationships per person
- Maximum generation depth
- Number of distinct family groups
Use Cases
- Data quality review: Identify notes missing essential information
- Research planning: Find areas needing more research (orphaned persons)
- Progress tracking: Monitor completeness as you build your tree
- Quality assurance: Verify relationship consistency before exporting
Excalidraw Export
Charted Roots supports Excalidraw in two ways:
- Direct generation: Generate Excalidraw files directly from the Tree Wizard (see Visual Trees)
- Canvas conversion: Export an existing Canvas file to Excalidraw format (documented below)
Both methods produce editable Excalidraw files with hand-drawn styling, annotation capabilities, and SVG/PNG export.
Why Use Excalidraw?
Excalidraw provides drawing capabilities not available in standard Canvas:
- Annotations: Add handwritten notes, highlights, and comments directly on the tree
- Custom styling: Apply hand-drawn aesthetics, colors, and shapes
- Smart connectors: Connections adapt when you move elements
- Wiki links: Click nodes to navigate to person notes
- Additional elements: Draw family crests, photo frames, decorative borders
- Presentation mode: Create polished diagrams for sharing or presentation
- Native export: Export to SVG or PNG directly from Excalidraw
Direct Generation (Recommended)
The Tree Wizard can generate Excalidraw files directly, with full control over styling:
- Open the Tree Wizard (Control Center → Visual Trees → New Tree)
- Select root person and tree type
- Choose Excalidraw as output format
- Configure canvas options and preview the tree
- In the Excalidraw Style step, customize:
- Drawing style: Architect (clean), Artist (sketchy), or Cartoonist (rough)
- Font family: Virgil, Cascadia, or system fonts
- Fill/stroke styles: Solid, hachure, cross-hatch; solid, dashed, dotted
- Node content: Name only, with dates, or with dates and places
- Generate the file
This method uses the ExcalidrawAutomate API when available, producing smart connectors that adapt when elements are moved.
Converting Existing Canvas
If you already have a Canvas file, you can convert it to Excalidraw:
Method 1: Context Menu
- Right-click on the canvas tab, file, or three-dot menu
- Select "Export to Excalidraw"
- The Excalidraw file opens automatically in a new tab
Method 2: Command Palette
- Open the canvas you want to export
- Press
Ctrl/Cmd + P - Type "Charted Roots: Export to Excalidraw"
- Press Enter
What Gets Exported
Preserved from Canvas:
- ✅ Node positions (automatically normalized to positive coordinates)
- ✅ Node sizes and dimensions
- ✅ Node colors (converted to Excalidraw color scheme)
- ✅ Person names, dates, and places as text labels
- ✅ Relationship connections as arrows (smart connectors when API available)
- ✅ Wiki links for navigation back to person notes
- ✅ Spouse relationships styled with dashed lines
Converted to Excalidraw Format:
- Canvas nodes → Excalidraw rectangles with grouped text
- Node labels → Multi-line text elements (name, dates, place)
- Edges → Excalidraw arrows (smart connectors adapt when moved)
- Colors → Excalidraw-compatible color palette
File Structure:
The exported .excalidraw.md file contains:
- Text elements list (for search/indexing)
- Complete Excalidraw JSON drawing data
- Obsidian-compatible markdown format
After Export
Once exported, you can:
- Edit in Excalidraw: Double-click the
.excalidraw.mdfile to open in Excalidraw plugin - Annotate freely: Add drawings, shapes, text, and colors
- Customize styling: Change fonts, line styles, hand-drawn effects
- Share or present: Export as PNG, SVG, or share the markdown file
Important Notes:
- The exported Excalidraw file is a one-time snapshot of the Canvas tree
- Changes to person notes or relationships will not update the Excalidraw file
- To update: re-export from Canvas after regenerating the tree
- Excalidraw edits are preserved in the
.excalidraw.mdfile itself
Workflow Example
Research → Canvas → Excalidraw → Presentation
- Build tree in Canvas: Use Charted Roots to generate and style your family tree
- Export to Excalidraw: Convert the structured tree to editable drawing
- Annotate and enhance: Add photos, dates, notes, decorative elements
- Present or share: Export polished diagram for presentations or publications
Iterative Updates:
- Research and update person notes with new relationships
- Regenerate Canvas tree to reflect updates
- Re-export to Excalidraw (creates new file or overwrites)
- Re-apply annotations as needed
Requirements
- Excalidraw plugin must be installed and enabled
- Canvas file must be a valid Charted Roots-generated family tree
- Excalidraw files are stored alongside Canvas files (same vault location)
Troubleshooting
Excalidraw file appears blank:
- Ensure Excalidraw plugin is installed and up-to-date
- Try re-exporting or regenerating the file
Text not centered in boxes:
- Update to Charted Roots v0.17.1+ which fixes text centering issues
Nodes positioned incorrectly:
- Charted Roots automatically normalizes negative coordinates to positive space
- If issues persist, try regenerating the Canvas first, then re-export
Missing wiki links:
- Wiki links are set on the rectangle element, not inline in text
- Click the rectangle (not the text) to follow the link
Connectors don't adapt when moving elements:
- Smart connectors require the ExcalidrawAutomate API
- Ensure Excalidraw plugin is installed; files generated without it use static arrows
Split Canvas Wizard
The Split Canvas Wizard helps you plan how to split large family trees into manageable segments. This is useful when you have a tree that's too large to view comfortably on a single canvas, or when you want to focus on specific family lines.
Accessing the Wizard
- Right-click on any canvas file
- Select Charted Roots → Split canvas wizard
Split Methods
The wizard offers six different split methods:
By Generation
Split your tree into separate canvases based on generation ranges:
- Configure how many generations per canvas
- Choose direction: ancestors (older generations first) or descendants (younger first)
- Useful for very deep trees (10+ generations)
By Branch
Separate paternal and maternal lines:
- Create separate canvases for father's ancestors vs mother's ancestors
- Optionally include descendant branches
- Useful for focusing on specific family lines
Single Lineage
Extract a direct line between two specific people:
- Select a start person (e.g., oldest known ancestor)
- Select an end person (e.g., yourself or youngest descendant)
- Optionally include spouses of people on the line
- Optionally include siblings at each generation
- Useful for surname studies or lineage documentation
By Collection
Create one canvas per user-defined collection:
- Select which collections to include
- Bridge people (those in multiple collections) can appear on multiple canvases
- Useful for multi-family research projects
Ancestor + Descendant Pair
Generate linked ancestor and descendant canvases for the same person:
- Select a root person as the pivot point
- Configure maximum generations in each direction
- Optionally include spouses
- Creates two linked canvases plus optional overview
By Surname
Extract all people with a given surname, even without established family connections:
- Scrollable list shows all surnames sorted by frequency
- Select one or more surnames to extract
- Include spouses: Also include spouses who have different surnames
- Include maiden names: Match people whose maiden name matches (from frontmatter)
- Handle name variants: Treat similar spellings as the same surname (e.g., Smith/Smythe)
- Separate canvas per surname: Create one canvas per surname, or combine all into one
This is particularly useful for:
- Consolidating unconnected GEDCOM imports that share surnames
- Surname studies when family connections aren't fully established
- Research projects focused on a specific surname
- Extracting people from different family branches who share a name
Output Options
All split methods share common output options:
- Output folder: Where to save generated canvases
- Filename prefix: Prefix for canvas file names
- Include navigation nodes: Add portal nodes linking between canvases
- Generate overview canvas: Create a master canvas showing relationships
Preview
The final step shows a preview of what will be generated:
- Number of canvases to be created
- Total people included
- List of canvas files with person counts
Note: Canvas generation is planned for a future update. Currently, the wizard provides planning and preview functionality.