From 204c6ab608efab5daf02e5b4a793cb0b2592d683 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Fri, 25 Sep 2026 03:23:53 +0000 Subject: [PATCH] Transition map: always show the site structure, omit content-less index pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Node inclusion no longer depends on views in the window: every page from /_api/pages is shown (the front page used to vanish when quiet). Omission follows the navigation instead — index pages without content of their own (category labels and empty pages, the nodes nav links bypass to the first child) are omitted, children promoted, first visible child taking the slot. Deleted pages named by traffic are inserted as ghosts where they would have been, materializing missing ancestors as content-less category lanes. /_api/pages gains the "empty" flag (not node.chunks) for the nav notion; has_content (chunks is not None) stays for the structure editor's delete affordance. --- docs/analytics.md | 11 +- frontend/src/StructureTree.vue | 3 +- frontend/src/analytics/transitions.js | 166 ++++++++++++++------------ pagerite/api.py | 8 ++ 4 files changed, 109 insertions(+), 79 deletions(-) diff --git a/docs/analytics.md b/docs/analytics.md index 3e4284c..59ec41e 100644 --- a/docs/analytics.md +++ b/docs/analytics.md @@ -416,8 +416,15 @@ by a top lane labeled 🏠︎ beside the home pill (50% thicker than the branch lanes, its label font and guide offset scaled along), each item's subtree fanning out below it in menu order along a large-radius circular arc that leaves heading -straight down and gradually bends right, index pages without views omitted -and their children promoted in their place. The submenu structure is drawn +straight down and gradually bends right. Every page of the tree is shown +whether or not it had views in the window — only index pages without +content of their own (category labels and empty pages — the ones the +navigation itself bypasses in favor of the first child) are omitted, +their children +promoted in their place, the first visible child taking the slot. Paths +the traffic names but the tree no longer has (deleted pages) are +inserted as ghosts where they would have been, missing ancestors +materialized as category lanes. The submenu structure is drawn as wide branch lanes: one per path prefix with at least two visible nodes, running behind the branch's node pills as circle arcs concentric with the fan (parent levels one radius step outward, so all lanes of a diff --git a/frontend/src/StructureTree.vue b/frontend/src/StructureTree.vue index 4d47e82..882f51f 100644 --- a/frontend/src/StructureTree.vue +++ b/frontend/src/StructureTree.vue @@ -1,7 +1,8 @@