Oliver G221 downloadsTurn your notes into a living world: timelines, family trees, realms and dynasties, maps with borders, and fantasy calendars. Written entirely by AI (Claude).
Full disclosure, this was completely made with AI. I 'dictated' it, but know jack about coding. It was coded completely by Claude, using different models: Opus 5.5, and Sonnet 5.5 advised by Opus. According to the AI, this plugin has over 550 unit tests and was exercised in a browser test harness. However it has not been reviewed line by line by a human developer. Back up your vault, and use Undo freely: every change UniverseView makes to your notes can be undone (the clock button on any view lists them all).
Turn ordinary notes into timelines, family trees, maps, calendars, organisation charts and more, for history, genealogy, worldbuilding, fiction and tabletop campaigns. It handles fictional calendars and hand-drawn maps.
Your notes stay plain Markdown: UniverseView only reads properties (frontmatter, and Dataview inline fields if you use Dataview), and writes back only when you edit through it.
A look you can build. Every theme now brings its own buttons, tabs, panel edges, icon weight and heading style (Parchment: outlined buttons, folder tabs, ornate corner brackets and a flourish under its title; Starfield: glowing buttons and capitals; Scholar: ruled buttons and small-caps headings). Settings → Look → Surface & motion shows each style as a live card, so you can swap any of them, add a font pair, and copy the whole look to another vault.
Lighter maps. Simplify is tried on first, with the old outline dashed and nothing saved until you press Apply, and it can run on every area at once. Simplify as I draw thins what Fill, Brush and Expand make. Grow has a live preview. Roughen borders now draws a shared border as one line, so it never overlaps a neighbour.
Steadier everywhere. Controls keep a fixed width, so the Options panel and toolbar no longer jump when a value changes, and hover cards open reliably. The side tabs and the About page show the running version and a build number that rises with every commit.
One home for your whole world. The star button opens UniverseView in a single tab, with big tabs down the side (Home, People, Groups, Places, Time, Library, Tools, Settings) and smaller tabs along the top.
Everything in one place: every view lives in the dashboard, and links, right-click menus and commands open the right tab. Open in new tab still gives a view its own tab.
Made your own: switch any module off in Settings → Modules, drag the big tabs into order, and drag, resize or hide the cards on Home and Library. Every view remembers its filters, layers and arrangement, and one click puts it back to its defaults.
Files panel: the Library's tree in Obsidian's left sidebar, with colours by realm and tier, search, type filters and counts.
War and occupation: lands can be held for a while without changing their borders. The occupier's stripes show at those dates, and Play on the map runs the time slider through a war.
Faster map painting: the Land painter moves from land to land, Push moves a neighbour's border along with yours in one undo, and Stay on land keeps paint off the sea.
Short forms: one line where a block of properties used to go.
sides: "[[Union]], [[Kansas]] vs [[Confederacy]]"
transfers: "[[Texas]]: [[Mexico]] > [[United States]]"
occupied: "[[Virginia]] by [[United States]] (1861 – 1865)"
A battle with no sides: fights as its war, and alliance: lets one note stand for all its members. The inspector reads every form and saves the shortest.
A fuller inspector: About shows what the editor holds, from sides and battles to holders, names, occupations and any other property on the note.
A calmer look: flat cards and solid panels, sentence-case labels, and tabs that answer at once. Themes keep their own character.
See your world
location:, nation:, tags like #Nation_United_States, or the folder note above), with its holder, their house and the ruler at the top. See it as a realm tree, as dynasties with their cadet branches and the titles each house holds, or as organisations; houses over time are one click away.Work on it
all: for what they share, fills in a form of what matters for that kind of note. Everything can be set by hand, tags follow your vault's own standard as you go (#Event_War where your events use that pattern), and you land on the new note in the inspector. Tab finishes names, and Up brings back earlier lines.#Title #Province #Region_Small or #Region #Region_Enormous, with a review of every place before anything changes.sides: (who fought, on which side, who won) and its war:. Battles show on the map as crossed swords in the winner's colour, joined in order as their war's campaign, following the time slider; a war lists its battles and each side's wins in the inspector, and the Board has a Wars list. A battle with no sides: takes its war's. occupied: marks lands held for a while, shown as the occupier's stripes without moving any border, and Play on the map runs the time slider through the war.relatives: property on a note that mentions them (Bob + Mary > Carol, Dan is a couple and their children; Gwen + Hal is just a couple), and the tree draws the whole branch. Click a Not created yet card for what you can do with it, including writing it up as a note.#Character_Dead for someone with a death date, #Event_War for a war). You review every change, and one Undo reverses it.1262 - 1294 C.E., and your own property names. Everything it changes can be undone.What changed in each version is in the changelog, and inside UniverseView: after an update a What's new window shows what changed since the version you had, and the action What's new (version history) (or Settings → Look & cards → About) shows every version.
UniverseView isn't in Obsidian's community plugin list yet. Until it is:
main.js, manifest.json and styles.css into a folder .obsidian/plugins/universe-view/ inside your vault, then turn UniverseView on in Settings → Community plugins.It works on desktop and on phones and tablets. Very large map pictures (over 4,096 px across) are shown on phones from a smaller copy the desktop app saves in UniverseView/Map copies/, so open such a map once on a computer.
The dashboard opens by itself after installing. In a vault with nothing for it yet, Home offers to read your notes, add a small sample world (the Tudors), or start from scratch. To set a note up by hand:
type property: event, person, culture, place or map
(synonyms like character, faction, nation, city work too, as do tags like #person or folder rules).# Events/Battle of Greyford.md
type: event
date: 14 Highsun SE 3 # or 1243-05-14, May 1243, c. 1240, 350 BCE, 1240..1245
end: 16 Highsun SE 3
participants: ["[[Aldric Vane]]"]
places: ["[[Greyford]]"]
cultures: ["[[Kingdom of Vael]]"]
importance: 5 # 1–5
# People/Aldric Vane.md
type: person
born: FE 790
died: c. SE 40
parents: ["[[Edric Vane]]", "[[Lysa Marrow]]"]
partners:
- person: "[[Mira Thorne]]"
from: SE 1
cultures:
- culture: "[[Order of the Ash]]"
from: SE 12
role: Knight-Commander
relations:
- person: "[[Corin Hale]]"
kind: mentor
A person (or a place) can belong to groups, and UniverseView keeps five questions apart: their realm (which realm they live under or serve, with dates when it changes), their house (their family or lineage), their culture (the people they are of), their faith, and any organisations (guilds, orders, armies, companies). Anything else is an other group. The edit form has a row for each, and the inspector, the hover card and the family tree show them the same way.
Each answer comes from the kind of the group note it links to, which you set on the group (kind: house, #Group_House; a realm keeps its tier word, such as kingdom or county). Write them in whichever property you like: allegiance: and realm: are realms, family: and house: are houses, faith: and religion: are faiths, and the general cultures: holds the rest.
# People/Henry VII.md
allegiance: "[[England]]"
family: "[[House of Tudor]]"
faith: "[[Church of England]]"
Fix kinds and tags proposes a kind for groups that have none, worked out from their name and tags, for you to review.
# Places/London.md # Places/Greyford.md (on an image map)
type: place type: place
coordinates: [51.507, -0.128] map: "[[Vael Map]]"
located-in: "[[England]]" position: [330, 520] # pixels from top-left
# Vael Map.md
type: map
image: "[[vael-map.png]]"
Only write each relationship once — UniverseView infers children, siblings, the other side of a partnership, members of a culture and events at a place.
Left sidebar: the star opens the dashboard, with every view behind its big tabs. Home has a summary of your world, quick “New …†buttons, key events, houses, people, places and recent edits. Sidebar button for every view in Settings gives each view its own button too.
Shortcuts: none are set for you, so they never clash with yours. Turn on Suggested shortcuts (Settings → UniverseView → Look & cards) for the ones below, or set your own in Settings → Hotkeys (search “UniverseViewâ€). The shortcuts named elsewhere in this README are these suggested ones.
| Ctrl+Alt (⌘⌥ on Mac) + | Opens |
|---|---|
| O | Overview |
| H | Dashboard (files, relationships, settings) |
| B | Board (your own arrangement of views) |
| T | Timeline |
| F | Family tree |
| G | Connections graph |
| L | Culture lineage |
| K | Realms and cultures |
| R | Realm and dynasty chart |
| M | Map |
| C | Menu of all views and actions |
| N | New note |
| J | Jump to a note in the view that suits it |
| Z | Undo the last change UniverseView made |
| D | Detect types & relationships |
Right-click a note, a link, a tab or inside the editor: Show on timeline, Show family tree, Show on map, Show connections, Add child…, Add event here…. Right-click a folder for its overview, timeline, map or graph.
Command palette: type “UniverseViewâ€. A few commands live in the palette itself (the dashboard, the quick menu, New note, Quick creator, the inspector, Undo and Jump to). Actions... opens a searchable list of everything else: every view, export, check and tool. The dashboard's Tools tab offers the same actions as cards. Right-clicking a tile on the overview offers Open in new tab, Open to the right and Add to board.
| View | What it does |
|---|---|
| Timeline | Zoomable from millennia to days. Eras are shaded behind it: your calendar's eras, plus any event note with kind: era (or age, period, reign, dynasty, war) that has a start and end. Group lanes by category, culture, place, person, tag or kind; the Categories menu shows or hides each kind of event (from a note's category:, kind: or tag). Lifespans, births/deaths and culture spans can be layered in. Double-click empty space to create an event on that date. |
| Family tree | Ancestors above, descendants below, siblings beside, all partners shown. Handles multiple marriages, half-siblings, adoption (dashed) and pedigree collapse (duplicate cards). Double-click someone to centre the tree on them; “Follow active note†keeps it in sync with the editor. Missing people appear as dashed cards you can click to create. Two more layouts: a fan chart of ancestors, and over time, descendants as bars along a time axis. How related? names the relationship between any two people (half-sister, great-uncle, father-in-law…) and shows the path. |
| Connections | Force-directed graph of people, cultures, places and events. Focus on one note and a number of steps, and scrub the time slider to see who was alive and allied when. |
| Culture lineage | Groups as bars from founding to dissolution, each with its logo (or initial), dates and members, branches drawn from the moment they split. Groups still standing fade out at the current year, marked by a Today line. Hover one to bring out its whole line of descent. It moves like the timeline: the wheel zooms through time (or scrolls, when there are more groups than fit), dragging pans, and the dates stay at the top. |
| Realms and dynasties | Three trees in one view. Realms: every title under its liege, each card with its holder (and the ruler above, when someone else), house and vassals. Dynasties: houses with their cadet branches (branch-of:), heads and members, and chips for the titles each holds; Houses over time opens the generational view. Organisations: a faction, guild or company as a tree of cards: sub-organisations (parent-org:, branches:, or groups listing it under cultures:) below it, and in each card its logo (click the logo area to pick an image; a monogram stands in until then), leaders (★, from roles like king, head, commander, or leader:/ruler: on the group's note) and members with their roles. Relationships are drawn between the cards: alliances (green), rivalries and wars (red, dashed), liege and vassal (purple arrows), trade (gold, dotted), and ties between the people on the cards (thin dotted lines). Each card also lists all its group ties as chips, including groups not on the chart. Hover a card or a line to bring out its ties; click a kind in the legend to hide it. Underneath, a timeline of when each group existed and who held which role (dashed bars are memberships without their own dates, drawn across the person's life). The time slider, or a click on the timeline's dates, shows the organisation as it stood on that day. Double-click a card to put it at the top. |
| Library | Every folder and note in a tree (with counts by type and problem markers). Pick a note to edit its basics in place (type, dates with live checking, kind, size and layer for places, importance, color, icon, summary) and to see every relationship in both directions with a small graph, plus plain links and backlinks and all its properties. Pick a folder for its settings (what its notes are, which calendar, leave it out) and a sortable table of its notes. With nothing picked: basic settings, problems and recent edits. Type and kind are written the way the note already marks them (a property, a tag like #City, or cr_type). Each relationship group has + to link another note (with role and dates for memberships) and an × on each row to unlink it, on whichever note the link is written. In a folder's table, tick notes to set their type, kind, map layer, pin size or calendar, or add a tag, all at once. |
| Map | Real-world map (OpenStreetMap by default) or your own image maps. Pins show events per place, the time slider filters by date, and Trace a journey draws a person’s path through the places of their events. “Place an existing note†and “Move pins†write coordinates back into the note. |
| Calendar | Your world's calendar as months, a year or what's coming up, with moons, seasons, holidays, birthdays and repeating events; see Calendars below. |
| Table | A spreadsheet of one kind of note, edited in place. |
| Houses over time | Houses and dynasties across the generations, with marriages and successions (from the Dynasties toolbar, or ```universeview-houses). |
Every view opens notes on click (Ctrl/Cmd-click for a new tab), shows Page Preview on Ctrl-hover, and has a right-click menu to jump to the same note in the other views.
Export: the ⋯ menu on the timeline, family tree, connections, lineage, org chart and map saves a PNG or SVG into UniverseView exports/, copies the picture, or opens it for printing (where you can save a PDF). Charts come out whole, not just the part on screen. A map comes out as it shows (tiers, shading, labels, battles and legend, without the zoom buttons or pop-ups), with the time slider's date under it. Save a time-lapse draws the map at a series of dates and saves a captioned picture of each, plus one page with every frame.
Undo: every change UniverseView makes to your notes (moving pins, painting, editing in the Dashboard, linking, bulk edits) can be undone with the undo button or Ctrl+Alt+Z, up to 50 steps.
On/off buttons show their state: a toggle that's on has a soft fill and a coloured icon, and a map tool's button stays filled with the accent colour while the tool is running (click it again to stop).
The Board (Ctrl+Alt+B) is a dashboard of modules you arrange yourself: timelines, family trees, connection graphs, lineages, maps, “at a glance†numbers, lists of key events/people/places/groups, recent edits, or any note rendered in place.
key: value lines as embedded code blocks (group: culture, root: Henry VIII, map: Vael Map, trace: Aldric Vane…), plus a picker for its main subject.Settings → UniverseView → Appearance, or the action Switch theme. Themes restyle only UniverseView's views, boards, embeds, hover cards and dialogs; the rest of Obsidian keeps your theme. Each has a light and a dark variant (Starfield is always dark).
| Theme | Made for |
|---|---|
| Obsidian | Any vault: follows your theme and accent |
| Parchment | Fantasy worldbuilding and campaigns: aged paper, ink, wax red, engraved headings |
| Archive | Genealogy and family history: archival cream, photo-album portraits |
| Starfield | Science fiction: deep-space navy, neon glow, a star field behind every view |
| Scholar | History and research: crisp paper white, navy and burgundy, fine rules |
| Atelier | Novels and story planning: frosted glass, soft gradients, pastels |
Beyond the theme itself, Settings → Look → Surface & motion has a card grid for each of these, and a switch ("Themes set buttons, tabs, edges, icons and headings") that decides whether the theme chooses them for you:
You can also override the accent and type colors and choose the motion (Off, Snappy, Smooth, Relaxed, Bouncy; your system's reduced-motion setting is respected), density, corner radius and a flat style. Under Views are the timeline's row height and label size, the family tree's card size and gender tints — everything the Style Settings plugin used to offer, so it's no longer needed.
Settings are on five pages: Look & cards, Notes, Time & calendars, Maps & realms (map look, realm border band, rivers, roughen, territory styles) and Map tools (snapping, following coasts, keeping off other lands, brush size, Fill and Simplify defaults). The choices you make on a tool's banner are remembered there too.
Rest the pointer on anything in a UniverseView view (timeline items, tree cards, graph nodes, map pins and territories, list rows) for a card with the essentials: dates with age or duration, birth and death places, parents, partners, children and siblings, who leads a culture and who belongs to it, the chain of regions a place sits in, what happened there, the events just before and after, the opening lines of the note and its first image. Hold Ctrl/Cmd for Obsidian's own page preview instead. Cards can also appear for links in your notes (while holding Alt, or always), and the delay is adjustable.
territory:
- map: "[[Vael Map]]"
points: "120,330 300,180 520,120 760,150 790,330"
[ ]) sets the brush, and Space+drag moves the map. Either way the corners the area already had stay exactly where they were, so shared borders stay shared, and with Keep off other lands (on by default) new ground stops at the neighbours' borders. New area paints a separate area instead (an island, an exclave).occupied: on the war or battle.routes:
- map: "[[Vael Map]]"
kind: road
name: The King's Road
points: "330,520 420,450 520,360"
scale: with a real unit (km, miles, leagues); for other units or your own speeds, give the map note travel: foot 25, horse 50, ship 150 (map units per day).terrain: mountains and the like slow it down); rings of 1, 3, 7 and 14 days' travel around a place; or the land shared out between the groups holding places on an image map (borders from seats).kind: town # hamlet, village, town, city, metropolis · castle, fort, temple · island, forest, lake · ruin, landmark …
pin-size: large # tiny, small, medium, large, huge
layer: 3 # 1 = always shown … 5 = only when zoomed right in
A place is described in three layers: its type (Settlement, Territory, Land, Water, Structure, Site or Space), which follows from its kind; its kind (the picker groups them by type); and traits in tags: a role (#Place_Role_Capital, Port, Holy, Market; a capital wears a crown on the map), a size (#Place_Size_Small; a village is usually small, a city large) and a status (#Place_Status_Ruined, Abandoned, Lost, Destroyed). Capital and port are roles, not kinds; an older kind: capital still reads, and Fix kinds and tags (a command) tidies old kinds, plurals, typos and older tags in one reviewed step. A title's rank (kingdom, duchy, county) isn't a kind of place: set it under Tier. Without them, a place takes its kind's size and layer (realms and regions big and always shown, villages and buildings appearing as you zoom in). You can set these per kind in Settings → Maps → Kinds of place (village = #8e6b3a, home, tiny, layer 4). Layers written in a note or in the settings always apply; the built-in ones only on maps with more than 25 places. The Zoom layers button turns layering off.kind: city, or a tag like #Fort), their top-level region, or one color. Kinds get colors and icons in Settings → Maps → Kinds of place. The legend lists every group; click one to hide it, Alt-click to show only it.icon: castle (any Lucide icon, an emoji, or Iconize's LiCastle) puts a symbol in the pin; logo:, sigil:, crest: or flag: with an image shows that instead. A culture's logo is used for its places.scale: 100 px = 5 km), and right-click the map to create a place or event there, put an existing place there, measure from there or copy the position.Each embed is named universeview- and the view (universeview-timeline, -family, -graph, -lineage, -org, -map, -calendar, -houses). The older chronicle- names still work in notes already written with them.
```universeview-timeline
folder: Tudors # optional filters: tags, cultures, people, places, from, to, importance, search
group: culture
lifespans: true
height: 360
```
```universeview-family
root: Henry VIII # defaults to the current note
up: 2
down: 2
```
```universeview-graph
focus: Aldric Vane
depth: 2
types: people, cultures
```
```universeview-lineage
folder: Vael
```
```universeview-org
root: Order of the Ash # defaults to the current note (or every top-level group in `folder:`)
at: SE 30 # the organisation on that date
timeline: true
relations: true # alliances, rivalries, vassals… between the groups
ties: true # relationships between the people on the cards
depth: 3
```
```universeview-facts
note: Henry VIII # an infobox of the note's key facts
```
```universeview-arc
person: Henry VIII # a life on one strip: roles, partners, children, places, events
```
```universeview-stats
folder: Vael # people alive over time, balance of groups, lifespans, names
```
```universeview-map
map: Vael Map # or "world"
trace: Aldric Vane
color-by: category # culture | category | region | type
territories: true
```
Embedded views scroll with the note; hold Ctrl/Cmd to zoom with the wheel. Use the command Insert embedded view to add one.
People and groups are joined by properties that list links. Write one side and the other note shows the inverse (vassals ↔ liege, mentors ↔ students); add dates with - { name: "[[House Vane]]", from: SE 12, to: SE 40 }.
| Property | For | Meaning | Also accepted |
|---|---|---|---|
allies |
people, groups | On the same side | ally, alliance |
friends |
people | Close personal ties | friend, companions |
rivals |
people, groups | Competing, not (yet) at war | rival, competitors |
enemies |
people, groups | Open hostility or war | enemy, foes, at-war-with |
mentors / students |
people | Who taught whom | mentor, teacher / apprentice, pupil |
liege / vassals |
people, groups | Who answers to whom | lord, overlord / vassal, subjects |
employer / employees |
people | Who works for whom | patron, serves / servants, agents |
leader |
groups | Who leads it | ruler, head, monarch |
trade-partners |
groups | Trade and commerce | trades-with |
founder |
groups | Who founded it | founded-by |
Any other property listing links (sworn-brother: "[[X]]") is a relationship of that name. New people and groups start with these properties empty, ready to fill in, and the new-note form has a Relationships section. Choose which ones, or turn this off, in Settings → Relationships, which also has the full table.
story-date: and characters: are checked for people moving impossibly fast, the dead appearing and ages that don't add up. They also show on the timeline (Story chip).knows: / known-by: with dates), lines of succession (eldest child first, sons before daughters, or sons only; Remember for this group saves the rule as succession:), name ideas learned from one world's names (near copies like “Argaret†are left out), and story ideas drawn from your world's own rivalries, successions and gaps.`age: Aldric Vane @ SE 30`, `born: Mira Thorne`, `span: Battle of Greyford`.Settings → UniverseView → Calendars lets you define calendars for your worlds, then write dates like 14 Highsun SE 3. Start from a shape (twelve months of 30 days; twelve months with festival days between the seasons; thirteen months of 28 days; Earth-like with leap years) and rename everything. A calendar can have:
Highsun = 36. Add , festival for days that sit outside the weeks (holidays between months); they don't move the weekday.Midfeast = every 4, except 100, unless 400.Selûne = 30.4 days, offset 3, #cfd8ff.Spring = Thaw 1) and yearly holidays (Lantern Night = Highsun 15, or every 4 for every few years).FE, SE), written before or after the year, and an epoch that lines it up with real dates and your other calendars.A note uses its calendar:, then its world's calendar, then the per-folder mapping (Vael = vaelic), then the default. The real-world calendar has proper weekdays, the real moon and the solstices and equinoxes.
The Calendar view (Ctrl+Alt+C) shows a month as weeks (festival days on their own), a whole year at a glance, or what's coming up. Every day shows its moons' phases. Days also show events, events that repeat (give an event repeat: yearly, or monthly or weekly), holidays, the start of each season, birthdays (with ages) and story chapters. Click a day for everything on it, double-click to add an event there, and drag an event to another day to move it. Today in the world is kept on the world note (or in the settings); the â and â© buttons move it on by a day or a week, as a campaign goes on. The converter shows any date in every calendar, with weekday, season and moons. Embed a calendar with ```universeview-calendar (folder:, mode: month | year | agenda, date:).
A note with type: world sets up everything in its folder in one place. The World settings window (command, Dashboard, Calendar view or Settings) edits it with menus, a date check, travel-speed boxes and relationship tick boxes, and makes the note when a world has none. You can also edit the properties directly:
type: world
calendar: vaelic
today: 16 Highsun SE 3 # today in the story: the calendar's Today
map: "[[Vael Map]]" # the map that opens first
travel: foot 30, horse 60, wagon 35, boat 60, ship 150 # km a day, for journeys and travel rings
succession: male-preference # absolute, male-preference or agnatic
person-relations: allies, rivals, mentors # what new people start with
group-relations: allies, enemies, vassals # what new groups start with
Each calendar has a Current year (Settings → Calendars; a world note's today: wins for its world, and the real-world calendar uses today's date). Anything with no end is drawn up to it, fading out with a dashed end: groups still standing, people born within a long lifetime of it, and spans written as still going (1292 C.E. -, end: present). This applies on the timeline, culture lineage, org chart and houses. Turn it off with Draw open spans to the current year.
```universeview-houses.images:
- image: "[[vael-old.png]]"
name: The First Era
to: FE 811
- image: "[[vael.png]]"
from: SE 1
Each image is stretched over the same area, so pins and borders stay where they are.knows:), what they took part in and who was there, their family and relationships, their groups with those groups' leaders and lands, the places in their life and the regions those lie in, the chapters they appear in, and famous events (importance 5).caused-by: [[Earlier event]] or led-to: [[Later event]] on either note draws arrows between events on the timeline (Causes turns them off). Why did this happen? (right-click an event, or the command) shows the chain of causes and of consequences, a few steps each way, and adds more.born:: 1210), and exposes an API for queries:const c = app.plugins.plugins["universe-view"].api;
dv.table(["Child", "Born"], c.children("Henry VIII").map(p => [p.name, p.props.born]));
icon: LiCastle-style names work for map pins.location: [lat, lng] is read as coordinates.Two features are modelled on other community plugins, and they deserve the credit for the ideas:
Folder/Folder.md), opening it by clicking the folder, hiding it in the list, and keeping names in step. UniverseView's version follows its conventions so the two read the same vaults; turn one of them off so they don't both handle clicks.UniverseView's code for these was written separately rather than copied, but the concepts and the way they work are theirs. If you want only those features, use their plugins: they do them more fully.
UniverseView reads the formats you may already use:
cr_type, father/mother, spouse, children, parent_place, date_end, parent_org, custom_coordinates_x/y (its bottom-origin pixel maps) and map_id. Pins you move are written back in Charted Roots' format.#Character, #Event, #Family, #Faith, #Realm, #City, #Region, #Fort, #Landform… (exact tags only, so #Character_Male or #Nation_X don't count as types; _Male/_Female tags set gender).lifespan: 1262 - 1294 C.E., 394 C.E. -, ~1200 - ???; location: lists (most specific first); family/house/nation/allegience as memberships; branch of/branches as culture lineage; ruler/liege/lord/founder as relations.Detect note types and relationships (command or ribbon menu) finds notes that look like people, places, groups or events but have no type, and family relationships written in the text (“son of [[X]]â€, “born to [[X]] and Queen [[Y]]â€, “his wife [[Z]]â€). You review everything first; it then writes in the vault's own style — a tag, cr_type, or a type property.
.ged file to UniverseView exports/ for Ancestry, FamilySearch, Gramps or MyHeritage. Dates in fictional calendars are kept as text.npm install
npm run build # type-check + bundle main.js and styles.css
npm test # unit tests: dates, calendars, GEDCOM, kinship, journeys, coasts and roads…
npm run harness # browser harness with the example vault at http://localhost:5178
npm run install-example # copy the build into example-vault/ to try it in Obsidian
The example-vault/ folder contains two worlds: the Tudors (Gregorian dates, real map) and Vael (custom calendar, image map).
dev/install.ps1 (Windows) type-checks, tests, builds and copies the plugin into the vaults listed one per line in dev/vaults.local.txt, a file of your own that git ignores.
npm version patch # or minor / major: updates package.json, manifest.json and versions.json
git push --follow-tags # the tag starts the Release workflow, which builds and drafts a GitHub release
The tag is the bare version (0.26.1, no v), as Obsidian expects. The workflow attaches main.js, manifest.json and styles.css to a draft release; publish the draft when it's ready.
MIT, © 2026 Oli_G. The built plugin includes Leaflet (BSD-2-Clause), d3-force and its d3 helpers (ISC) and Lucide icons (ISC); their licences are in THIRD_PARTY_NOTICES.md.
UniverseView reads and writes only your vault. The only things it loads from the internet are the real-world map's tiles (OpenStreetMap by default, changeable in settings), only when you open that map, and any picture your notes themselves link from the web. It sends nothing anywhere: no accounts, no tracking.