Family Chart View - banisterious/obsidian-charted-roots GitHub Wiki
Family Chart View
The Interactive Family Chart View is a persistent, interactive visualization panel for exploring and editing family trees in real-time. Unlike the static canvas exports, it provides a dynamic, explorable interface powered by the family-chart library.
Table of Contents
- Opening the Family Chart
- Navigation and Exploration
- Display Options
- Edit Mode
- Exporting the Chart
- Styling
- State Persistence
- Multiple Chart Views
- Toolbar Reference
- Family Chart vs Canvas
Opening the Family Chart
Method 1: Command palette
- Press
Ctrl/Cmd + P - Type "Charted Roots: Open family chart"
- Select a root person when prompted
- The chart opens in a new view
Method 2: From a person note
- Open a person note (must have
cr_idproperty) - Press
Ctrl/Cmd + P - Type "Charted Roots: Open current note in family chart"
- The chart opens centered on that person
Navigation and Exploration
Pan and Zoom
- Mouse wheel: Zoom in/out
- Click and drag: Pan around the chart
- Zoom buttons: Fine-grained zoom control in the toolbar
- Fit to view: Reset view to show entire tree
Click Interactions
- Single click on a person card: Center the view on that person
- Double click on a person card: Open their note in the editor
Display Options
Person Card Avatars
If a person note has a media property, the first media item is displayed as a thumbnail avatar on their card. This works with:
- Photos linked via
media: "[portrait.jpg](/banisterious/obsidian-charted-roots/wiki/portrait.jpg)" - The first item in a media array:
media: ["[portrait.jpg](/banisterious/obsidian-charted-roots/wiki/portrait.jpg)", "[other.jpg](/banisterious/obsidian-charted-roots/wiki/other.jpg)"] - Media linked during Gramps Package (
.gpkg) import
Use the canvas-roots-media block with editable: true in person notes to drag-and-reorder media itemsโthe first item becomes the thumbnail.
Color Schemes
Access via the color scheme dropdown in the toolbar:
- Gender: Pink for female, blue for male (traditional genealogy colors)
- Generation: Different colors for each generation level
- Collection: Color by collection membership
- Monochrome: Neutral coloring for clean appearance
Layout Spacing
Access via the layout settings button (gear icon). Horizontal (node) spacing controls the distance between sibling cards:
- Tight: 140px (matches the Mini card style)
- Compact: 200px (matches the Compact card style)
- Normal: 250px (matches the Rectangle card style, default)
- Spacious: 350px (maximum readability)
Switching card style automatically picks a matching default spacing. If you pick a preset that would be smaller than the current card style's minimum, spacing is clamped to prevent cards from overlapping โ switch to a smaller card style first for a genuinely tighter tree.
Card Field Toggles
The display settings menu (eye icon in the toolbar) controls which person fields appear on each in-tree card. Cards grow vertically to fit whatever you enable:
- Show birth dates / Show death dates โ from the
born/diedproperties - Split given/surname โ renders name on two lines instead of one
- Show nickname โ from the
nicknameproperty - Show title โ from the
titleproperty (nobility, honorific, rank) - Show pronouns โ from the
pronounsproperty - Show occupation โ from the
occupationproperty - Show religion โ from the
religionproperty - Show caste โ from the
casteproperty
Toggles persist across Obsidian restarts. Turning on a field for which some people have no value will show a blank line on those cards; turn the toggle off to tighten the layout again.
Sort Options
The display settings menu also controls the left-to-right order of children and spouses within a family unit:
- Sort children by birth date โ children render oldest-first (left) to youngest (right). Children without a birth date fall to the end.
- Sort spouses by marriage date โ spouses render first-married (left) to most-recently-married (right). Useful for serial remarriages or polygamous families where the frontmatter order doesn't reflect chronology. Spouses without a marriage date fall to the end. Marriage dates come from the spouse-relationship metadata (e.g.
spouse1_marriage_date).
Both toggles are off by default (frontmatter order is used).
As-of Date Filter
Show the family as it existed on a specific date. Useful for both genealogy ("what did my family look like in 1870?") and worldbuilding (tracking character states through a timeline).
To use it, set a date in the Time group on the toolbar (native date picker). The chart updates to reflect that moment in time:
- People born after the selected date are hidden, so the tree shows only people who existed by then.
- People who died before the selected date stay visible but are rendered with a dashed border and reduced opacity, so the family structure remains intact and you can see ancestry at a glance.
- Marriage lines are shown only when the marriage was active on the selected date (after the marriage date and before any divorce date). A person's multiple marriages appear or disappear depending on which were current.
Click the X button next to the date field to clear the filter. The selected date persists across Obsidian restarts.
Date handling notes:
- Exact ISO dates (
YYYY-MM-DD) are compared at day-level precision. - Approximate dates (
ABT 1850,BEF 1900, etc.) fall back to year-level comparison โ appropriate for genealogy data where day precision usually isn't known. - Custom non-family relationships (liege/vassal, ally/rival, etc.) are not filtered by date yet โ support for that lands alongside #386.
Kinship Labels
Toggle relationship labels on connecting lines to show how people are related:
- Open the Layout menu (gear icon in toolbar)
- Enable Show kinship labels
- Links now display "Parent" or "Spouse" labels
This helps clarify relationship types at a glance, especially useful when presenting or reviewing complex family structures.
Custom Relationships Overlay
Render non-family custom relationships (liege/vassal, ally/rival, mentor/disciple, godparent, and other custom types) as styled overlay lines on top of the tree.
Enabling:
- First, enable the Family chart overlay toggle on the relationship types you want visible โ Control Center โ Relationships โ edit a type โ "Render on family chart as overlay line" (see Custom Relationships)
- In the Family Chart Display menu, toggle Show custom relationships on
- When multiple overlay-enabled types exist, each gets its own per-type toggle indented under the master toggle
Rendering behavior:
- Non-family overlays (ally, mentor, sire, liege, etc.) render as curves that arc below the chord between the two cards, visually distinct from the tree's structural links.
- Adopted / step / foster overlays restyle the existing parent-child line with the overlay's color and dash pattern when that link is visible โ no separate line is drawn. When the structural link isn't in the current view, rendering falls back to the arc.
- Lines use the type's configured color and line style.
- Same-pair multiple arc relationships stack with a perpendicular offset so each stays visible.
- Symmetric types draw one line per pair; asymmetric types draw a directed line.
- The as-of date filter applies โ relationships with
from/todate ranges outside the selected date are hidden. - Hover a line for a tooltip with source, relationship type, target, and date range.
- Overlay arcs paint on top of the structural family-link layer in the typical case so they're never hidden by parent-child or spouse lines. When a single endpoint pair has three or more overlay arcs stacked on it, the layer order automatically flips so the structural family link stays visible underneath the stack โ preserves the structural-line-visibility guarantee for heavy overlays.
The overlay is independent of family-tree structure. A type can be tree-only (affects layout, no overlay), overlay-only (no layout impact, rendered as an overlay line), or both.
Highlight Groups
Spotlight cards matching a property value while dimming the rest โ useful for pattern-finding in large trees (e.g., "who are all the Magicians?", "which people belong to this faction?", "which descendants have the highest research level?").
Enabling:
- In the Family Chart Display menu, click Highlight groups...
- In the modal, click Add group โ configure up to 3 concurrent groups
- For each group, pick:
- Field โ Sex, Occupation, Title, Religion, Caste, Nationality, Universe, or Collection
- Value โ exact match (case-insensitive)
- Color โ one of 12 palette colors (gold, orange, red, pink, purple, indigo, blue, cyan, teal, green, lime, brown)
- Toggle Enabled per group if you want to keep a group configured but temporarily off
- Click Save
Rendering behavior:
- Matching cards render with a colored glow in the group's color
- Non-matching cards (when any group is active) dim to 30% opacity, keeping structure visible
- When a card matches multiple groups, the first group in the list wins for the glow color
- Groups persist across view reloads via the view's state
Clearing: Open the modal and click Clear all, or delete individual groups.
Field value matching is case-insensitive and handles common sex aliases ("male" / "man" / "M" all match the canonical "M"). Built-in fields only in v1; custom property support arrives once #377 ships.
Card Styles
Choose from 4 card styles to match your visualization needs. Access via the Style menu โ Card Style submenu.
| Style | Description | Best For |
|---|---|---|
| Rectangle | 200px-wide cards with avatar thumbnails and full details (name, dates) | General use, detailed views |
| Circle | Circular avatar cards with name labels below | Photo-centric trees, visual appeal |
| Compact | 180px-wide cards with optional small avatar (35ร35) | Large trees, structure focus |
| Mini | 120px-wide cards with optional tiny avatar (25ร25) | High-level overviews, navigation |
Features:
- Card style persists across Obsidian restarts
- Switching card style automatically sets a matching horizontal spacing default (can still be overridden from the layout menu)
- Compact and Mini render a small avatar when the Show avatars toggle is enabled; hide them for pure text-only cards
- All styles support the "Open note" button (smaller on Mini)
- All styles work with PNG/PDF export
- Circle style uses circular avatar cropping with gender-colored backgrounds
Choosing a Style:
- Use Rectangle for most genealogy work where you want to see photos and dates
- Use Circle for presentations or when photos are the main focus
- Use Compact when working with large trees (50+ people) to see more at once
- Use Mini for quick navigation or getting an overview before zooming in
Edit Mode
Enable edit mode to modify family relationships directly in the chart.
Enabling Edit Mode
- Click the Edit toggle button in the toolbar
- The toolbar shows undo/redo buttons when editing is active
Editing a Person
- Click on any person card while in edit mode
- An edit form appears with fields for:
- First name and last name
- Birth date and death date
- Gender
- Make your changes and save
Undo and Redo
- Use the Undo and Redo buttons in the toolbar
- Full edit history is maintained during the session
Bidirectional Sync
Changes made in the chart automatically update the underlying markdown notes:
- Name changes update the
nameproperty - Date changes update
bornanddiedproperties - Gender changes update the
genderproperty
Exporting the Chart
Click the Export button in the toolbar to open the Export Wizard.
Quick Presets
Choose from 5 preset configurations for common use cases:
| Preset | Format | Settings | Use Case |
|---|---|---|---|
| Quick Share | PNG | 1x scale, no avatars | Social media, messaging |
| High Quality | PNG | 2x scale, with avatars | Printing, archiving |
| Print Ready | Cover page, with avatars | Physical prints, sharing | |
| Editable | SVG | Vector format, no avatars | Editing in Inkscape/Illustrator |
| Document | ODT | Cover page, with avatars | Merging with reports in Word/LibreOffice |
Custom Export Options
Click Customize to configure export settings manually:
Format Options:
- PNG: Raster image with configurable scale (1x, 2x, 3x, 4x)
- SVG: Scalable vector graphics for editing
- PDF: Multi-page document with optional cover page
- ODT: OpenDocument Text for editing in LibreOffice/Word
PDF/ODT Options:
- Page size: Fit to content, A4, Letter, Legal, Tabloid
- Layout: Single page or tiled across multiple pages
- Orientation: Auto, Portrait, Landscape
- Cover page: Optional title page with custom title and subtitle
General Options:
- Include avatars: Show person thumbnails in export
- Filename: Customize the output filename
Export Progress
Large exports show a progress modal with:
- Phase indicators (Preparing, Embedding avatars, Rendering, Encoding, Saving)
- Progress bar
- Cancel button
Settings Memory
Your last-used export settings (format, scale, page options) are remembered for next time.
Styling
Theme Presets
Click the palette button in the toolbar to access color themes:
| Theme | Description |
|---|---|
| Classic | Traditional pink/blue genealogy colors (default) |
| Pastel | Lighter, softer tones |
| Earth Tones | Natural terracotta, sage, and sand colors |
| High Contrast | Magenta/cyan/yellow for accessibility |
| Monochrome | Grayscale, no color coding |
Custom Colors
Select Customize... from the palette menu to open the color picker modal:
| Color | Description |
|---|---|
| Female card | Background color for female person cards |
| Male card | Background color for male person cards |
| Unknown card | Background color for unknown gender cards |
| Background (light) | Chart background in light theme |
| Background (dark) | Chart background in dark theme |
| Text (light) | Card text color in light theme |
| Text (dark) | Card text color in dark theme |
Colors update in real-time as you adjust them. Click Apply to save, or Reset to defaults to revert.
Style Settings Integration
If you have the Style Settings plugin installed:
- In-view settings (from the palette menu) take precedence
- "Reset to defaults" clears in-view settings, revealing Style Settings values
- Both can coexistโuse in-view for quick switching, Style Settings for vault-wide defaults
State Persistence
The Family Chart View automatically saves and restores:
- Root person selection
- Color scheme preference
- Card style preference
- Edit mode state
- Layout spacing settings
- Date visibility preference
- Approximate zoom level
When you close and reopen a family chart, it returns to the same state.
Multiple Chart Views
Open additional family chart tabs to compare different branches or root persons:
Open a New Chart
- Press
Ctrl/Cmd + P - Type "Charted Roots: Open new family chart"
- Select a root person
- A new chart tab opens alongside existing ones
Duplicate Current Chart
- Click the three-dot menu (โฎ) on the chart tab
- Select Duplicate view
- A copy of the current chart opens in a new tab
This allows you to:
- Compare different branches side-by-side
- Keep one view on ancestors while exploring descendants in another
- Navigate to different people without losing your current position
Toolbar Reference
| Button | Function |
|---|---|
| Color dropdown | Switch between color schemes |
| Palette | Access theme presets and custom color picker |
| Zoom in/out | Adjust zoom level |
| Search | Find and navigate to a specific person |
| Edit toggle | Enable/disable edit mode |
| Undo/Redo | Reverse or replay edits (edit mode only) |
| Fit to view | Zoom to show entire tree |
| Layout settings | Adjust spacing, date display, and kinship labels |
| Style menu | Card style (Rectangle, Circle, Compact, Mini), display options |
| Export | Open export wizard (PNG, SVG, PDF, ODT) |
| Refresh | Reload data from notes |
Family Chart vs Canvas
| Feature | Family Chart View | Canvas Generation |
|---|---|---|
| Exploration | Best for browsing large trees | Better for static documentation |
| Editing | Direct in-chart editing | Edit source notes, regenerate |
| Persistence | View survives reloads | Canvas file saved permanently |
| Export | PNG, SVG, PDF, ODT | Canvas file, Excalidraw |
| Integration | Live sync with notes | Snapshot at generation time |
| Styling | Theme presets, custom colors | Style Settings only |
| Use case | Interactive research | Shareable family tree |
Recommendation: Use Family Chart View for day-to-day exploration and quick edits. Use Canvas Generation for creating permanent, shareable family tree documents.