Repository navigation
v0.10.1
The graph canvas runs on the GPU
- Big graphs stay smooth. The canvas is now drawn with WebGL2 instead
of one web page element per note. On a 1,000-note test graph with 1,500
connections, panning went from 53 ms to 2.5 ms per frame at the median,
and zooming from 38 ms, with stalls of several seconds, to about 9 ms
per frame, with no stalls. - It looks the same. Cards keep their colors, type stripe, shadows,
badges and text. Card text is still drawn by the browser's own text
engine, in your IDE's font when the pane runs inside an IDE. The card
under your pointer and the selected card are real HTML on top of the
canvas, so hover expansion, links and the selection outline work as
before. The Engram Purple theme's frosted glass now covers every card,
the minimap and the controls; the IDE themes stay flat. - Zoomed far out, card text turns into simple lines. Below readable
size, cards show their title and body as bars, which keeps zooming smooth
on big graphs. - The layout no longer freezes the pane. It runs in the background, and
only reruns when notes or connections are added or removed. Before, every
update and every card you dragged re-laid out the whole graph: seconds
each on a large, connected graph. - Five thousand notes work. The Skyline layout now splits one big,
densely linked cluster into its communities before arranging it. A
1,000-note test graph lays out in 0.2 s instead of 5 s, on a field about
a tenth the size. At 5,000 notes it takes 0.6 s, where it never
finished before. - Zoom out until the whole graph fits. The zoom-out limit is now the
zoom that fits your graph, so a big graph can be seen at once. - Fewer redraws. Once zoomed out far enough that text turns into
lines, the moving dashes on conflict edges stop and every edge is drawn
as a still line, so an idle canvas draws nothing. Zoomed in, only the
edges near the screen are drawn, and far-off curves use fewer segments. - No more hitch every few seconds on big graphs. The pane checks for
changes every 3 seconds, and each check used to rebuild every card
because trust is recomputed on every read: about 270 ms at 5,000 notes.
Unchanged notes are now kept as they are. - Double-click or double-tap to zoom in (Shift+double-click zooms out),
on desktop and on phones. - Without a GPU, nothing changes. If WebGL2 isn't available on a real
GPU, or the GPU gives out mid-session, the pane switches to the previous
canvas on its own.
The Feed keeps up with big graphs
- Switching screens and scrolling stay fast. The Feed now only keeps
the cards near your screen on the page, and still scrolls the full length
of the feed. On the same 1,000-note graph, opening the Feed went from a
160 ms stall to about 10 ms, fast scrolling from 120 ms per frame to 8 ms,
jumping to the end from 137 ms to 9 ms, and following a connection to a
far card from 100 ms frames to 9 ms. - Jumps land exactly where they did. Every card is measured once in
the background at its real size, so a jump lands centered at any
distance, and the card you're reading never moves while measuring runs.
A long jump skips most of the way and glides the last stretch. - A very fast scroll shows placeholder cards, the same size and color
with gray lines for text, which fill in a frame or two later. - Your browser's find (Ctrl+F) only sees the cards near your screen.
The pane's search still finds every note.
Smaller fixes
- Selecting a note on the canvas no longer stutters on big graphs. The
hidden Feed screen used to redraw all of its cards on every selection;
it now waits until you open it. - In IDE themes, a hovered card no longer shows the canvas through it.
The card keeps its color and just lifts. Before, it took the IDE's hover
highlight, which is often see-through. - Card text spacing. Cards now use proportional figures, so hyphens and
numbers sit the way they do in the rest of the pane, and the canvas and
the HTML card wrap text at the same words. - Tasks and History have their own background again in Safari. Safari
still showed the hidden graph canvas behind them, as a black or frozen
frame (menus left ghosts on it). - The selection outline stays visible when zoomed far out. It now holds
about 2 screen pixels at any zoom below 10%. At the new far zoom it had
thinned to under one pixel.
Full Changelog: v0.10.0...v0.10.1