Commit Graph

25 Commits

Author SHA1 Message Date
ivan-danilov
7c4111b248 Added prettify-url? option to QuickCapture (#12409)
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
2026-05-12 00:16:03 +08:00
Tienson Qin
1f9c017998 refactor: graph view V2 (#12604)
* feat(graph): rebuild global graph view with Pixi

Summary:

- Replace /graph route with a new Pixi-based global graph implementation in ClojureScript.

- Build graph data from db-worker only (no UI DB writeback) and default to tags+objects with a toggle for all pages.

- Add fast scene rendering for large graphs with indexed hit-testing, zoom/pan, node dragging, and click/shift+click node actions.

- Introduce dynamic label management (zoom hysteresis, viewport culling, overlap control, hover-emphasis) and fix hook lifecycle cleanup issues.

- Refresh graph UI styling to full-container layout, dot-first settings control, and Logseq button usage.

- Add/expand tests for global graph modes, node actions, and Pixi label/visibility logic.

- Update graph-related dependencies/lockfile as part of the new implementation.

* enhance(graph): improve drag exploration and label visibility

- Dragging a node now pulls connected nodes with depth-based weights for easier structure exploration.

- Labels are rendered only for currently visible node dots; hover no longer reveals hidden-node titles.

- Hovered node title remains promoted in foreground while respecting visibility constraints.

- Add logic/test coverage for connected drag weights and updated label text behavior.

* enhance(graph): use d3 force layout

Summary:
- Move Graph V2 node layout into graph pixi logic.
- Use d3-force link, charge, center, collision, and y forces instead of the hand-written ring/spiral layout.
- Add coverage that linked graph nodes settle closer than an unlinked island.

Dependency:
- Verified d3-force is already latest at 3.0.0.

Tests:
- bb dev:test -v frontend.extensions.graph-pixi-logic-test
- bb dev:test -v frontend.common.graph-view-v2-test
- pnpm install --frozen-lockfile --lockfile-only

* fix: graph view interactions

* enhance: speed up large graph view

* enhance: speed up tags graph

* enhance: speed up tags layout

* enhance: bound tags force layout

* enhance: speed up graph opening

* fix: keep graph objects visible when zoomed out

* fix: resize graph with sidebars

* enhance: select graph nodes

* fix: refine graph selection controls

* support icons

* fix: sharpen graph node icons

* enhance(graph): update graph v2 settings

* fix: re-render graph when theme changes

* enhance(graph): remove legacy graph view

* fix: typo

* fix: improve graph view

* test: cover graph view improvements

* enhance: improve graph view

* test: cover graph time travel behavior

* enhance: refine graph time travel

* test: cover graph layout controls

* enhance: add graph layout controls

* test: cover graph highlight controls

* fix: refine graph highlight controls

* test: cover edge label alignment

* fix: align graph edge labels

* test: keep graph lines visible on highlight

* fix: keep graph lines visible on highlight

* fix: show graph lines by default

* test: filter graph lines on highlight

* fix: filter graph lines on highlight

* test: keep graph depth incremental

* fix: update graph depth incrementally

* test: cover graph label link occlusion

* fix: occlude graph links behind labels

* test: cover graph edge visibility defaults

* fix: smooth graph edges on highlight

* test: cover graph arrow toggle

* fix: toggle graph arrows

* test: cover reciprocal graph edge offsets

* fix: separate reciprocal graph edges

* test: cover duplicate graph edge runs

* fix: dedupe graph edge render runs

* test: cover graph tag clusters

* enhance: cluster graph tags layout

* test: cover graph tag cluster colors

* fix: color graph tag clusters by title

* test: cover subdued graph node colors

* fix: mute graph node colors

* feat: grid layout

* add more options

* enhance(graph): drill into tags on zoom

* map-like navigation

* mod+click to preview node

* edge enhancements

* more tweaks

* fix: block preview

* enhance(graph): speed up large graph layout

* fix: improve graph mode switching ux

* fix: speed up graph view switching

* fix: optimize large all-pages graph render

* fix: speed up graph data build

* fix: collapse graph tag settings on mode switch

* enhance: refine graph panel width

* fix: improve graph zoom performance

* fix: satisfy graph lint

* fix: open graph nodes by uuid

---------

Co-authored-by: rcmerci <rcmerci@gmail.com>
2026-05-10 23:26:32 +08:00
Gabriel Horner
208b4bc205 fix: remove whiteboards and tldraw from rest of codebase
Also remove some old excalidraw refs that should've been removed awhile
back
2026-01-22 13:19:58 -05:00
Gabriel Horner
1d15e1f85d fix: rm file graph config from user config
Also remove unused helpers for file config keys and file graph code in
mobile.intent.  These removals also result in removing
frontend.common.file.util as it's no longer used
2026-01-22 13:19:57 -05:00
Tienson Qin
bcc478b5f7 refactor: separate og and db version (#12276)
separate og and new version apps

remove file sync, tldraw, excalidraw and zotero
2025-12-29 15:39:32 +08:00
Tienson Qin
d7f0c248ff fix: bring back :ref/default-open-blocks-level 2025-06-02 11:19:10 +08:00
Gabriel Horner
dda13d61b9 enhance: improved config.edn for new db graphs
New db config.edn don't include any of the file graph keys or comments.
Previously all comments were confusingly left lying around.
Also moved conversion of imported config.edn so that CLI can use it.
Also temporarily moved one dep to
https://github.com/nextjournal/nbb-test-runner/pull/2 until the PR is
merged
2025-05-15 12:14:46 -04:00
Gabriel Horner
7319e1541c enhance: deprecate :journal/file-name-format for db graphs
Confirmed all uses of it are file only and fixed a case where db graph
could've accidentally used it (by having org-mode configured)
2025-05-06 14:44:58 -04:00
Gabriel Horner
584faf2f48 enhance: deprecate :default-templates config for db graphs
Db graph no longer invoke file graph config and queries for today
journal and on journal page load
2025-05-06 12:18:10 -04:00
Gabriel Horner
4f65a00c68 refactor: rename :logseq.task properties to :logseq.property
These are the only built-in properties that don't start with
:logseq.property
2025-05-06 12:29:09 +08:00
Gabriel Horner
6fa20a4853 fix: deprecate more file graph only :config 2025-05-05 16:51:05 -04:00
Gabriel Horner
05496a0f69 fix: deprecate old srs config options 2025-01-28 11:49:58 -05:00
Gabriel Horner
c594f3c49a fix: update config ux to deprecate :journal/page-title-format
In #11491 we deprecated this config but didn't update config to let
users know. Also disable re-index warning which doesn't apply to db graphs
2024-09-13 08:51:07 -04:00
Gabriel Horner
48df03a1fa fix: finish removing arweave
Follow up to a6e0b0a092
2024-08-08 09:24:02 -04:00
Gabriel Horner
46c5110701 fix: document and validate a db only config.edn option
Also fix another outdated comment
2024-07-30 17:20:12 -04:00
Tienson Qin
d847023dc1 Refactor: rename :block/content to :block/title 2024-07-10 22:33:44 +08:00
Gabriel Horner
16cfb76c9b fix: update :query/result-transforms to work with db graphs
since they are the future. Leave example disabled by default as it's
not important to have :sort-by-priority enabled by default and working
for both file and db graphs
2024-06-10 12:38:40 -04:00
Gabriel Horner
489e7f3422 fix: :default-queries for db graphs
closes LOG-3042. Moved :default-queries to default-config as this allows
for any future fix to automatically update for a user. There's also a
breaking change with this config key from :block/journal? so moving this
to default-config makes the migration easier e.g. just tell users to
remove the config key
2024-05-07 18:03:50 -04:00
Tienson Qin
8d9e6da41e refactor: use :block/type for journal pages instead of :block/journal?
breaking change:
removes :block/journal attribute
2024-04-24 20:12:15 +08:00
Gabriel Horner
8d0b3c5058 Remove unused :preferred-workflow config for db graphs
part of LOG-3041. Also clean up related namespaces with docstrings
2024-03-07 11:39:51 -05:00
Gabriel Horner
81697573b8 Merge branch 'master' into feat/db 2024-02-05 13:49:37 -05:00
Gabriel Horner
a68c5eea52 fix: file/name-format is file graph only
Confirmed this with the last refactor. Also remove references to
setting that was removed in eb6e5942f8
2024-01-31 13:34:12 -05:00
Gabriel Horner
f6e9e2630f fix: deprecate :favorites for db config
related to LOG-3031. Also comment all known
file graph only config keys
2024-01-30 15:26:19 -05:00
Gabriel Horner
211dd6aea7 enhance: disable preferred-format and setting org-mode
for db graphs. Also deprecate in config
2023-10-24 17:15:05 -04:00
Gabriel Horner
36edf87db3 Move config.edn template to a library
so it can be used outside Electron e.g. when creating graphs from CLI.
Put a symlink in the old templates/config.edn location to make new
location easier to find but it's not needed for anything to work
2023-09-08 13:52:45 -04:00