You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The word list carries a big vocabulary: The explorer's word list rendered every word the project has. It now draws only the rows on screen, so a map with thousands of words opens and scrolls as fast as a small one, while the scrollbar still measures the whole list. Picking a word that is far outside the visible stretch scrolls to it.
Hide a word: Right-clicking a word in the cloud now offers Hide word, which drops it from the cloud and from the explorer's word list alike — the way to get a noisy word out of the picture without re-running the parser with a .dlcignore. A Hidden chip in the explorer's header counts what is hidden and lists it — the way the metric view's explorer counts its flattening and exclusion rules — with a button to show one word again or all of them at once. Hidden words survive a reload like the other domain settings.
The cloud and the explorer point at each other: Clicking a word in the cloud now does what Show occurrences does in its right-click menu — the explorer switches to word mode, searches for that word and breaks it down — instead of doing nothing. The word the list has expanded is marked in the cloud, so the picture and the list always say the same thing.
Jump between the views from a node: Right-clicking a folder or file in the domain view's file explorer now opens the same node context menu the metric view has, reduced to what the word cloud can answer for: the node's path, which copies on click, and Show in Metrics, which switches to the 3D map with that node selected and revealed in its explorer. The metric view's menu — both on the map and in its explorer — gained the reciprocal Show in Domain, offered whenever the loaded file carries domain data.
Word occurrences in the domain view: The explorer now browses either Files or Words, switched with a toggle in its header. In word mode it lists every word of the project with its share of all word occurrences and its count, most frequent first, and its search box searches words instead of paths — each mode keeps its own search text. Expanding a word breaks it down over the file tree, most frequent first, each entry stating the word's share there and its count. Every row carries a bar as long as the share it states, so a list can be read by its bars alone. The words and their occurrences are rendered as explorer rows, so they read exactly like the file tree beside them: a folder opens and closes on click, and clicking any node selects it, which scopes the word cloud to it. Right-clicking a word in the cloud names the word on its first line, which copies it on click the way the node menu's path does, and offers Show occurrences, which switches the explorer to word mode, searches for that word so the list narrows to it, and expands its breakdown. Jumping to the domain view from a node — Show in Domain — puts the explorer back on its file tree, so the node it hands over is on screen.
Sort the explorer's word list: The explorer's sort control stays up while it browses words and orders them by Occurrences, Name or Relevance (the word cloud's TF-IDF reading, falling back to a word's count when the project carries none). A picked option starts in the direction it reads best in — A to Z for names, the biggest number first for the other two — and the same toggle flips it. Words still open most frequent first.
Node actions in a word's breakdown: Right-clicking a file or folder under an expanded word now opens the same node context menu the domain view's file explorer offers — the node's path, which copies on click, and Show in Metrics — and marks the row it belongs to, so a word can be followed straight to the map. The menu closes when the list scrolls, as it does over the file tree.
Domain view marks nodes without domain words: Folders and files the domain lens has no words for are now greyed out and italicised in the domain view's file explorer, the same way the metric view marks nodes without area for the chosen metric, with a "No domain words" hint on hover. They stay selectable.
Fixed 🐞
Hovering a word in the cloud lost its highlight: the word under the pointer lit up and went dark again a split second later. Marking the word whose breakdown is open was re-applied on every layout the chart reported — including the ones echarts draws for its own hover — and dropped the hover emphasis with it. Hovering now keeps its highlight, alongside the mark on the open word.
Inspector could not be closed for a node without a building: Selecting a folder — or a file with no area in the chosen metric — in the metric view's explorer opened the inspector, but its close button did nothing, because closing only cleared what the 3D scene held and such a node has no building drawn for it. The selection itself is now cleared, whether or not a building was drawn.
Map screenshot showed the top bar's drawer handle: the small handle hanging below the center of the top bar was captured in map screenshots, and — sitting at the very top of the image — it also kept a wide empty band above the map when the screenshot was cropped. The top bar is now left out of the capture as a whole, so nothing overhanging it can end up in the image. The domain view's word-cloud screenshot was never affected.
Context menu actions were swallowed after a view switch: once a view had been left with its node context menu open, the router kept that view — and its rendered menu — alive off screen, where it closed the menu of the view on screen on the first click. Picking an entry there did nothing, so "Show in Domain" appeared to be ignored. A menu that is off screen no longer dismisses anything.
Endless spinner on the first visit to the metric view: starting the app on the domain view and then switching to the metric view left its loading spinner up for the rest of the session, with the map never drawn. The deferred map build ran before the view had mounted the canvas the floor labels measure, and the resulting error ended the render stream that both the map and the spinner hang off. The build now waits for that canvas, reads the current map data rather than the last data-plus-action pair, and reports a failed render instead of ending the stream.
Chore 👨💻 👩💻
Type check passes again: the node context menu's spec configured a view without the menu's jumpTargetView, so tsc failed on the test sources while Jest ran fine. The case now states that such a view offers no jump at all, and asserts it.