Repository navigation
Releases: Lucas-Liona/obsidian-pulsar-graph
Release list
1.43.0
Stars and black holes mark the newest notes, a new install starts with nearly
everything switched on, and one Sharpness slider takes the place of Fade
type. Pinned writing is removed; pinning a note in the graph is unchanged.
Added
-
Stars and black holes, off unless you turn them on: a soft glow around
the newest notes, widest and strongest on the newest, for when the top of the
fade is all one white. On a light theme the glow is black, and the newest
notes sit in a pool of it. Each note is drawn over its own glow and keeps its
colour. How many counts the newest notes (10 to start, up to
250), and Pulse makes each one brighten and dim at its own pace, so a
field of them shimmers; it draws a still graph up to 30 times a second while it is
on screen. At the
top of The graph in the settings, and a Stars switch under Nodes in the
graph's own panel. -
More of Pulsar in the graph's own panel. Under Nodes, a Glow slider
and switches for Size by age and the Spotlight; and a new Links group
with how links are aged (Off, Match newer, Fade) and a Trace
sittings switch. They are the same settings as in the settings tab, so
moving one moves the other, and each applies to the graph as you change it. -
A tab's dot says when its note was edited, on hover, the way a link's
dot does: "Edited 5 days ago". The dot used to let the pointer pass through
it, so there was nothing to hover; a click on it still lands on the tab.
Changed
-
The settings section for the timelapse is called Animate rather than
Replay, after the button under Display in the graph's panel that plays
it, and says where that button is. Nothing saved changes. -
A new install starts with most features on, so the first look shows what
Pulsar does, and each can be switched off on its own. Newly on:- the spotlight on the newest note;
- nodes sized by age;
- links aged, fading from the newer note to the older;
- a dot after each link in a note;
- fresh writing, cooling over five minutes;
- a dot beside each tab, tabs fading by how long since you looked at them
(the icon and title, not the whole tab), and a 💤 on tabs left alone; - the graph's own timelapse lit as it plays;
- a local graph measured against its own notes, with every age written;
- links between notes written in the same sitting, traced in their own
colour; - neighbour glow at 0.35, one link out, which lifts about one note in nine
in the demo vault for 4% of the graph's contrast.
These stay off, because each would make the plugin look broken or wrong to
someone who did not choose it:- the age filter, which hides notes;
- group temperature, which averages a whole group to one brightness;
- the edit-intensity blend, which reads a history a new install doesn't
have yet; - measuring a local graph from the note in the middle, which changes what a
brightness means.
-
The fade starts ranked, with a maximum of 1.5, rather than even with a
maximum of 3. One very old note squeezes every other note against the top of
an even scale, and a maximum of 3 then draws most of them at full white: 95%
of a real 1,121-note vault and 87.5% of the demo vault. Ranked at 1.5, the
middle 80% of that vault runs from 0.14 to 0.81 of full white, and 8% of the
demo is at full.Both of these only change what a fresh install starts with. Anyone who has
saved settings once has every one of them saved and keeps what they had.
Reset all settings now goes to these, and anyone who never changed a
setting gets them on upgrade. -
Sharpness replaces Fade type. One slider from × 0.25 to × 6 shapes the
whole fade: × 1 is a straight line, higher keeps only the newest notes
bright, lower keeps more of the vault lit. Step becomes a Bands switch
with its Number of bands. The graph's own panel has a Sharpness slider in
place of Curve. Nothing saved changes meaning: Linear is × 1,
Exponential is its steepness, Step is Bands, and a version from before
reads what this one saves. -
The spotlight is green,
#4dff91, rather than white, which vanished on a
light theme. And on a light theme any spotlight colour is now drawn darker
until it stands 3:1 off the page, keeping its hue: pale colours are the ones
that glow on a dark theme and the ones that disappear on a light one, and the
green there stood 1.31:1 off white against 6.69:1 for an ordinary node. It is
drawn#33a960on a light theme, in the graph and in a tab's dot. A colour
already dark enough is left exactly as picked. A new install starts green; a
colour already saved is kept, white included, and white is drawn as the grey
#949494on a light theme rather than not at all. -
A note's history is drawn on one scale for every note, logarithmic back
from now, instead of each rail being scaled to its own note. A rail covering
twenty minutes used to look exactly like one covering a year. Now the top is
now, labels mark an hour, a day, a week, a month and a year (then two, five,
ten and twenty years), and a year is 420 pixels down in every note, so two
notes read against each other. This morning still spreads out, since the
first hour gets 93 pixels and the first day 206; a month of daily sittings a
year ago spans about 3. The rail stops at the first label past the oldest
sitting, so a short history stays short. A note with one sitting gets the
axis too, and the view redraws itself once a minute while it is shown,
since a bead's place is its age. -
Fresh writing can cool in as little as a second, and still over as long
as four hours. Cools over is one slider of round steps — 1, 2, 3, 5, 10, 15,
20, 30 and 45 seconds, then minutes, then hours — marked where the unit
changes, so the short end is as easy to pick as the long one. It used to
start at a minute. A duration set before this keeps its value until the
slider is moved. -
Every other length of time is set the same way: Faded after, Marked
after, Touched within, Counts as one sitting, Never spread across less
than, Window, Half-life and Stays lit for are each a slider of round
steps, written with their unit ("45 min", "6 h", "14 d") and marked where the
unit changes, instead of a bare number whose unit was only in the
description. Three reach further:- a window can be six hours, and a half-life an hour, so "today" can be
the whole range; both stopped at a day; - the spotlight's window reaches a day, so it can mark everything
touched today; it stopped at 12 hours, and its slider moved in fives from
1, so it never landed on its own default of 30; - the spread floor goes down to 15 minutes, for a local graph of one
afternoon; it stopped at an hour.
Each is stored in the unit it always was, as a fraction where it needs one,
so a version from before reads a value below its own floor as that floor. - a window can be six hours, and a half-life an hour, so "today" can be
Removed
- Pinned writing. Pin this writing, Unpin writing in this note and the
Pinned colour setting are gone, along with the status bar's right-click
menu, which only existed to unpin. A pin lived in the open editor alone and
was lost when the note closed, and Obsidian's own highlighting
(==like this==) marks text to come back to better: it is saved in the
note and can be searched. Pinning a note in the graph is unchanged. A hotkey
set on either command is dropped with it.
Fixed
-
On a light theme the newest notes no longer vanish into the page. Past
full strength Obsidian lightens a node, which on a dark background reads as
brighter and on a light one fades it toward white: under the shipped maximum
of 3, Moonstone's newest notes were drawn white on white and the graph was
links and nothing else. On a light theme a note past full strength is now
drawn solid and deepened toward black instead, the mirror of what a dark
theme does. In the demo vault on Moonstone, 14 of 112 nodes were invisible
at the new defaults and 100 at the old; now 1 is, the white spotlight. Dark
themes are unchanged. -
Switching theme with a graph open recolours its notes. A note with no
group colour kept the old theme's grey through every repaint: the dark
theme's#b3b3b3against a light fill of#5c5c5c, measured. It follows
the theme now, and so does the colour a pinned or spotlit note is handed
back. -
Blending in edit intensity no longer dims a vault with no history.
With nothing on record every note's intensity was 0, so the blend dimmed
the whole graph: at 0.25, the newest note reached three quarters of the
range and no further. The blend now waits until anything is on record. A
note's sittings are also ranked against every note, a note with no record
counting as 0, so of two notes the same age the one returned to more is
never the dimmer. -
The note history's rail ends at its oldest bead. It ran from when the
first sitting began, but each bead is drawn where its sitting ended, so the
bottom of every rail was a label with no bead at it: a note with one sitting
had its bead at the top of an empty line, labelled "4 hours ago" at both
ends, and in a longer history the oldest bead floated above the bottom by
its own length. -
How long a sitting is can be set again. Counts as one sitting decides
how the edit history counts sittings, but it was only shown with Trace what
was written together on, which is off by default. It is listed under
History now, and with the trails when History is off. -
The caption's switch is always there. Say so on the graph draws a line
on every graph, filter or not, but its switch was only shown with the filter
on, so the only way to turn the caption off was to turn the filter on first. -
Brightest in the graph's own panel goes as high as the setting. It
stopped at 6 whil...
1.42.0
Fixed
-
Dragging the age filter shows its result again. While a handle was held,
the notes outside the range were meant to disappear with the graph held
still, then rebuild on release; nothing disappeared, because Obsidian puts
back the flag Pulsar hid them with on every frame. They are hidden in a way it
leaves alone now, and a held drag costs less per frame than before
(0.44–0.47 ms against 0.58–0.62 ms in the demo vault). -
A graph is filtered from its first build after Obsidian starts. A graph
restored at startup, or opened while the tab bar was switched off, was
filtered against ages that had not been worked out yet, so it showed every
note until something made it filter again. Starting with a graph restored and
the filter on is now 35% faster at 10,000 notes and 26% faster at 50,000,
because the first build is only the notes the filter keeps. -
A replay ends. Once the timelapse has drawn every note the filter allows,
the graph goes back to today's brightness. It used to wait for the vault's
newest note, which the filter may never draw, so it stayed in replay
brightness. -
A note deleted while it was open stays out of the edit history. It could
be written back as seen a moment after it was deleted. -
Switching Pulsar off and on quickly keeps the last sitting. Turning it
back on read the history before the save from turning it off had landed. -
A settings tab left open across a reload can no longer save over newer
settings, such as a pin made since. -
A closed graph is let go of. A graph whose tab had been closed could stay
attached and be rebuilt with the others on every refilter. -
An old filter range saved with equal minimum and maximum opacity keeps the
notes it kept.
Documentation
- How Pulsar's performance is measured, in
docs/performance.md: the
method, the machine, the results release by release, flame graphs, threats to
validity and the corrections, with a notebook that recomputes every number
from the data in the repo.
1.41.0
Fixed
-
A local graph keeps its own note through the age filter. The filter
never removes the note you have open, but a local graph linked to one pane
keeps its note while you work in another. With a filter keeping older notes
than that one, looking away dropped it from its own graph, and dragging a
handle hid it the same way. Each graph now spares the note it is built
around. -
The edit history survives a write cut short. Obsidian writes a file in
place, so quitting or crashing part way through a save lefthistory.json
cut off, and the next load started a new history. Each save now writes
history.backup.jsonfirst andhistory.jsonsecond, and a history that
will not read is read from the backup. In the demo vault, a history cut in
half at reload went from 112 notes to 0 before and kept all 112 after. A
save takes about 2 ms longer. -
An unreadable history is never written over. A history file that was
there but could not be read, such as one held for a moment by a sync tool or
a virus scanner, used to be replaced by an empty one at the next save:
112 notes to 0 in the demo vault under a 20-second lock. Pulsar now records
nothing until it can read the file, and tries again every half minute. A file
that reads but is damaged is kept ashistory.damaged-<date>.jsonbefore a
new one starts. -
The spotlight and pins are drawn in exactly the colour picked. Above a
maximum opacity of 1, Obsidian's graph lightens each colour channel
separately, which turned a green spotlight (#4dff91) turquoise
(142, 255, 255) at a maximum of 1.85. Painted nodes are now drawn at an
opacity of at most 1, so the colour stays (77, 255, 145). Grey nodes still
go whiter, as a high maximum intends. -
The histogram's overflow mark is no longer red. It ran into the start of
the red curve over the first bar. It is now a lighter grey than the bars.
Performance
- Fresh writing's colours restyle only the editors. They were set on the
whole window, so every load with fresh writing on restyled every element in
it. With six editors open in the demo vault, a load's restyling and editor
reconfiguration went from 20.72 ± 1.00 ms to 9.31 ± 1.30 ms, and changing a
fresh-writing colour saves the same.
Documentation
- The settings reference lists every setting, 66 rows in the settings
tab's order. Theobsidiantypings are pinned to the version the build uses,
so a build of the source reproduces the release.
1.40.0
Added
-
A dot after each link, off by default, under Elsewhere → Links in
notes. Every link to a note that exists gets a dot at the brightness that
note has in the graph, in the pin colour if it is pinned, and hovering it
says when the note was last edited. It works in reading view and in the
editor. Links to notes not yet written, web links, embeds and anything in code
get no dot. In a test note of 30 links, a keystroke cost 0.988 ± 0.326 ms with
dots on and 1.021 ± 0.377 ms with them off; reading view spends
0.24 ± 0.09 ms per render adding them. -
Fresh writing has a status bar item of its own: a paint bucket and the
number of characters in the open note that still look lit. It follows the text
as it cools instead of updating once a minute. Click it to cool this note's
writing; right-click to cool or unpin. The tooltip counts pinned characters,
and a note with only pins left shows the bucket alone. New command: Unpin
writing in this note. -
A Clear and reset section, last in the settings, holds the three actions
that cannot be undone: Forget everything recorded, Reset all settings and
Unpin every note, moved there from History, Presets and Pins. Each needs a
second click within 4 seconds, and is greyed out when there is nothing to act
on. Deleting a saved preset also asks twice.
Changed
-
Cooling fresh writing keeps pins. Clicking the status bar item, the Cool
fresh writing command and Start again all used to erase pinned writing as
well. -
Resetting settings keeps pinned notes, along with saved presets and which
sections are folded. A reset used to empty the saved pin list without
touching the one the graph draws from. Pins have their own button now.
Fixed
-
A tab counts as ignored from when it was left. The attention clock
stamped a note only when it was opened, so a note sat in for twenty minutes
read as twenty minutes ignored the moment it was left: its tab faded, it could
be marked stale, and the next session started from the same time. With tab
fading on, a tab left after 20 minutes was drawn at 0.567 in 1.39.0 and is now
drawn at full strength. Leaving for the graph or an empty tab, switching
Pulsar off and quitting all count as leaving. -
A load reconfigures no editor it does not need to. Every load had Obsidian
reconfigure every open editor twice, whether fresh writing was on or not; in a
real vault the two took 51 ms between them. Now a load reconfigures none while
fresh writing and link dots are both off. With fresh writing on it still
reconfigures once, one fewer than before. (Corrected after release, twice.
This first said one reconfiguration took 51 ms. It then said the one left
cost 14.7 ± 1.6 ms against 7.2 ms for 1.38.0's two, but that figure included
a restyle of the whole window that 1.38.0 paid just after its
reconfigurations instead of during them. Timed together, a load with fresh
writing on cost 25–28 ms after 1.40.0 against 31–34 ms in 1.38.0, and 1.41.0
removes most of the restyle.)
1.39.0
Performance, from profiling 1.38.0 in a real vault, the demo vault and a
generated bench vault of 20,000 notes. The bench numbers use a real vault's
settings, whose age filter keeps 4,168 of the 20,000.
Corrected after release. The figures below come from a later run of 1.38.0,
1.39.0 and Pulsar off side by side in one session, every run kept. The
originals compared measurements taken hours apart and timed no 1.38.0 graph
opening at all; side by side, a switch between notes the filter hides gained
less than first published.
Fixed
-
A graph opens already filtered. A new graph was first built from every
note and filtered only afterwards, and a graph already open when Pulsar loaded
stayed unfiltered: 1,115 nodes instead of 241 in a real vault after a reload.
Graphs are now filtered from Obsidian's very first build of them, so opening
one costs what the filtered graph costs. Opening the bench vault's global
graph settles in 6.16 ± 0.11 s and blocks the main thread for 0.30 ± 0.05 s,
against 10.94 ± 0.76 s and 5.02 ± 0.69 s in 1.38.0, and 30.65 ± 3.88 s and
25.84 ± 4.31 s with Pulsar off. -
A graph stops drawing once nothing changes. A graph whose timelapse had
been started never went idle: Obsidian keeps handing it the same data about
nine times a second, and Pulsar repainted and woke it every time. With a
timelapse started in the demo vault, its renderer used 0.31 ± 0.02 of a core
in 1.38.0; it now uses 0.07 ± 0.01, the same as with Pulsar off. -
A note switch does less. It re-ran the filter over every open graph even
when the two notes involved could not change what was shown, and repainted
every graph twice, the first time for nothing. On the bench, the main thread
was blocked for 149.6 ± 12.0 ms per switch in 1.38.0 and is now 78.3 ± 7.1 ms.
Switching between notes the filter would hide, which does need a refilter,
went from 157.2 ± 9.7 ms to 119.0 ± 7.5 ms. In a vault whose filter keeps old
notes, switching between recent ones still refilters, because that really
does change what is shown. -
Refiltering is cheaper. A refilter that leaves a graph as it was no longer
rebuilds it: 1.162 ± 0.253 ms down to 0.343 ± 0.048 ms in a real vault.
1.38.0
Added
-
Measure a local graph against itself, off by default. Notes that link to
each other tend to have been written together, so graded against the whole
vault a panel's notes come out nearly alike: across 123 panels in a real
vault, the median spread was 11% of the brightness range, against 100% when
each panel was measured on its own. The spotlight follows the same setting and
picks the newest notes in the panel. -
Measure a local graph from the note in the middle, off by default, with a
toggle in the graph's own panel. Brightness becomes how close in time each
note is to the centre, in either direction, which answers what else was being
worked on at the time. In 66 of 123 panels there were notes on both sides of
the centre, and a one-sided age scale discards one side. -
Write every age in a local graph, off by default. The ages above titles
are one setting for both graphs, and writing one on every title is noise
across a whole graph; a local graph can now be told to write them regardless.
They follow the titles, so they appear on the nodes whose names Obsidian is
drawing at that zoom: 5 of 13 in one panel. -
A spotlight by time window: everything touched in the last so many
minutes, however many that is, including none. A count always answers: at an
idle moment in a real vault the newest three notes were 21, 34 and 124 minutes
old, so a note left two hours ago was marked as where you are. The spotlight
itself is still off by default, and a count is still what it does when
switched on. -
Pins show in the tab bar. Where the brightness dot is on, a pinned note's
dot takes the pin colour, so a note held bright no longer looks like one
edited this morning. While nothing is pinned, the graph's own panel says
Right-click a node to pin it. -
The graph's own timelapse is lit as it plays, off by default. Obsidian's
Start timelapse animation replays the vault in creation order, but each note
was drawn at today's brightness, so the first half of a replay was nearly
black: at 180 days back, all 72 notes that existed sat at minimum. Each note
is now graded from the moment being shown, and the graph goes back to reading
today once the replay catches up. -
A Pulsar section in the graph's own panel, beside Filters, Groups, Display
and Forces. Dimmest, brightest, the curve, title size and ages sit there with
the age filter, and they are the same settings the dialog holds. Sliders apply
while you drag and save 400 ms after the last step; a measured five-step drag
saved once.
Changed
-
Settings in seven parts instead of fifteen headings: Time, The graph,
Highlights, Tabs, Elsewhere, Setup and Measurements, each of which folds shut
and remembers it. The graph and Tabs carry a switch of their own, on by
default, that releases what that part draws rather than dimming it: switching
the graph off took attached renderers from 1 to 0. All 58 settings are still
there, with one renamed to Show the open note's age now that it sits under a
status bar heading. -
A pin outranks the spotlight. The spotlight skips pinned notes and takes
the next newest instead, so you see both the note you chose and the one you
were last in. Where the two still land on one node the pin's colour wins,
reversing the order 1.37.0 shipped. -
A local graph's caption describes the panel, not the vault: how many notes
it holds, how many the age filter has hidden, and how old they are. Over a
panel the vault line was true and useless, and without the hidden count a
panel the filter has nearly emptied looks just like a note with no links. -
The age filter's handles go where you aim. A press goes to the nearest
handle by distance; at the narrowest range the handles sit four pixels apart,
and before this the one drawn later took presses aimed at the other. Hovering
the histogram describes that stretch alone, and the caption gives the share as
a percentage. -
The age filter's histogram is a smooth curve over 40 bars, on a
square-root scale with a labelled axis, and the bars inside the selection
brighten. It used to be scaled to its tallest column, which held 300 notes
against 5–15 in the rest, so everything else was drawn flat. Notes piled at
the floor or ceiling of the fade are left out of the curve, and their bar is
capped in red. -
Figures are separated by a centred dot rather than commas wherever the
plugin reports numbers: the range caption, the caption over a graph, the panel
summary, the statistics and the status bar. -
Docs: the README is caught up with what has shipped, and the loop behind
this repo's measurements is written down.
Fixed
-
An unloaded plugin no longer keeps drawing on the graph. Instances left
behind by a reload kept their hooks and put them back on every graph refresh,
which is how one node's title came to carry seven age labels. After three
reloads with an update pending and three graph refreshes, the render chain
held 22 wrappers; it now holds 1. A title Obsidian rebuilds also gets its age
label back. -
The age filter no longer sorts the vault once per note. Dragging it,
hovering its histogram and every graph pass were quadratic in vault size, and
a pass runs after every note save while a graph is open. On a 1104-note vault
a full pass over both graphs went from 276.8 ms to 2.94 ms. -
The age filter measures along the curve, and draws what it selects. The
histogram drew pooled brightness while the handles selected on opacity clamped
at 1, so at the default settings the top 69% of the curve was a single point
on the line. Both now read a note's own position along the curve, and saved
ranges, presets included, are converted on load so they keep selecting the
same notes. -
Two settings were filed in the wrong place. The stale-tab settings were
drawn under Pins, so they looked missing to anyone reading the Tabs section,
and the status bar age sat under Labels.
1.37.0
Two features, one idea: a note is more than the single moment Obsidian records against it.
Until now Pulsar read exactly one number per note — its modification time — and everything followed from that. That answers what have I been working on and nothing else. This release adds the two things it could never say: this one matters regardless of its date, and here is everything you did to it, not just the last thing.
Pins
The note you are heading back to is, by definition, one you have not touched lately. The longer you leave it the fainter Pulsar draws it, and under the age filter it eventually leaves the graph altogether — the thing you most need to remember is the thing the plugin is busy forgetting.
A pin overrules the clock. Pinned notes are held at full brightness, given a colour of their own, and cannot be removed by the age filter.
Right-click a node in the graph, or a note in the file explorer, and choose Pin in the graph — or use the command for the note you have open, which takes a hotkey. The settings tab lists what is pinned with an Unpin beside each.
Pins write nothing into your notes and leave your modification times alone, which matters because this plugin reads them. They follow a rename, and they are deliberately left out of saved presets — a preset is a look, and a pin is a path in your vault.
→ Pins
A note's history, drawn as beads
Obsidian keeps one modification time per note and throws the rest away, so the graph can tell you a note was touched this morning and never that it was touched every morning for a month and then abandoned. Pulsar has kept the rest since 1.22.0; this is the view it was collected for.
One bead per sitting, down a rail in the sidebar. Position is when, size is how long it ran, brightness is the vault's own fade curve, and hovering gives the date, the duration and how much the note grew. Open it with Show this note's history.
Positioned rather than listed, because the shape is the point: it is what tells "edited three times today" from "appended to once a month" without reading a number, and the gaps say as much as the beads.
The rail is scaled to that note's own history, not the vault's — against the vault a note with two sittings three hours apart put both beads in the same pixel, because three hours is nothing beside eleven months.
→ A note's history · closes #26
Also
- Fixed a colour the plugin could leave behind. Releasing a node's colour put
node.colorback correctly and still left it drawn in the old one, frozen a few units short. Two causes: mid-rebuild a node's colour reads backundefined, so the code preserving it preserved nothing; and the renderer eases a tint a tenth of the gap per frame and truncates, so a channel climbing the last few units moves by zero and stalls permanently. Easing down converges, easing up does not. After the fix, 0 of 111 nodes disagree between drawn tint and colour; before, 1 did. This affected the spotlight every time it moved on. - The spotlight and pins now share one record of what each node was painted. Two of those, each saving and restoring the same node's colour, is how a graph group's colour gets lost for good.
1.36.0
Three small things, all about making what matters easier to see.
The line across the top of the graph
It used to appear only while the age filter was narrowing something. It is now on whenever you want it, and it reads:
110 of 110 notes, 2 hours ago back to 11 months ago
The Age filter prefix went with it, because it is no longer only about the filter. While you are filtering, it is necessary — a graph with half its notes taken out looks exactly like a graph. While you are not, it still answers the question a graph raises on its own: what am I looking at.
The spotlight can cover more than one note
At 1 it marks the thing you touched last. At 5 it marks the last five, which reads as where you have been rather than where you are — a short trail through the graph instead of a single point.
Every spotlit node keeps the colour it had underneath, so turning the count back down hands them all back exactly as they were.
Sleeping tabs
A tab you have left alone can now wear a 💤 instead of the quiet line down its edge. It takes the brightness dot's place rather than sitting beside it: a narrow tab has room for one or the other, and a tab you are being invited to close has nothing useful to say about how bright it is.
Nothing closes on its own, as before. Close stale tabs is still a command you run.
📖 The graph · The age filter · Tabs
1.35.0
One toggle at the top of the settings, and off means off.
Switching it off actually switches it off
Not "stops drawing" — nothing is watched, nothing is cached, no timer runs, no editor carries anything of ours, and every graph is handed back its own colours. Measured across the switch:
| on | off | |
|---|---|---|
| graphs hooked | 3 | 0 |
| notes cached | 1,090 | 0 |
| editor extensions | 1 | 0 |
| nodes carrying a Pulsar colour | 1,090 | 0 |
| status bar item | yes | no |
Every feature below it can still be switched off on its own, and almost all of them already are until you ask.
Commands stay in the palette either way, so a hotkey you assigned survives being switched off. They say so if you press one.
The settings page is readable now
It had grown to thirteen sections in the order they were built, with no explanation of what any of them were for.
- Every section says what it is for. You should not have to work out what "Fade" fades — which is also why it is now called Graph fade.
- A rule between sections, so the page has a shape.
- Ordered by surface, not by build history: time, then the graph in drawing order, then the places that are not the graph, then the data underneath. If you only want the graph, you never scroll past Age filter. Fresh writing used to sit between Links and Size for no reason at all.
- Switched off, it collapses to the one switch — 61 controls become 1.
1.34.0
Three changes about one complaint: the thing you are looking for stops being findable exactly when you narrow down to it.
Measure age against whatever the graph is showing
A third option beside the vault's whole history and a recent window.
Filter down to your brightest few per cent and every note left is at the top of the range together — so the gradient tells you nothing precisely when you have asked the most specific question. Measured on a 1,089-note vault filtered to its brightest 2%:
| measured against | the 194 notes still on screen |
|---|---|
| the vault's whole history | 0.981 – 1 — all at full brightness, all identical |
| whatever the graph is showing | 0.05 – 1 — the full range |
It respects Obsidian's own Filters and the graph's search box too, so typing a tag there turns the search box into a time lens for just those notes. It pairs especially well with the rank scale.
Two things keep it honest. It only ever decides how bright, never which notes are in — the filter still reads the absolute scale, so it cannot feed itself. And the range is held open to a floor, six hours by default, because three notes from the last ten minutes genuinely are all recent and drawing the nine-minute-old one as ancient would be a lie.
The spotlight can grow the node
Worth knowing why it needed to. Obsidian sizes a node by its link count and nothing else — and the note you wrote last is almost always the least-linked thing in your vault. So the one node you always want to find was reliably the smallest on screen: measured at the size floor with 12 of its 35 neighbours larger than it.
It multiplies on top of any other sizing rather than replacing it, so switching on size by age can never make the spotlight shrink.
The spotlit note is never filtered out
On the same rule the note you have open already had. A filter quietly removing the one node the graph is pointing at is the graph disagreeing with itself.