{"name": "02viz - Geospatial Visualization Studio", "package_name": "zero2viz", "version": "0.15.13", "experimental": false, "qgis_min": "3.28.0", "qgis_max": "4.99.0", "downloads": 50, "uploaded_by": "geo140195philo", "upload_datetime": "2026-08-12T03:25:26.305446", "changelog": "## [0.15.13] - 2026-08-12\r\n\r\n### Changed\r\n- **Reverted 0.15.11's two-column field layout in the Charts tab.** X/Category + Y and Group/Color + Value/Size are back to one field per row each, as they were before.\r\n\r\n## [0.15.12] - 2026-08-12\r\n\r\n### Changed\r\n- **Reverted 0.15.11's shorter tabs** back to the original height, and widened them by the requested 1.2\u00d7 instead.\r\n- **Brought back a clear \"this tab is open\" indicator** \u2014 a small teal dot icon on the active tab, instead of 0.15.9's border accent stripe. Tab icons are a native `QTabBar` feature Qt paints in its own dedicated slot, so it can't collide with this tab bar's native-theme box-model quirks the way a border property did.\r\n\r\n## [0.15.11] - 2026-08-12\r\n\r\n### Changed\r\n- **Shorter, wider tabs.** The tab strip's vertical padding is cut roughly in half (33px \u2192 19px tall) and the horizontal padding is increased \u2014 direct feedback on the tab row's proportions.\r\n- **Paired field pickers in the Charts tab.** X/Category + Y, and Group/Color + Value/Size, now sit two-up in one row each instead of four separate full-width rows, saving vertical space in an already long Chart card.\r\n\r\n## [0.15.10] - 2026-08-12\r\n\r\n### Fixed\r\n- **Reverted 0.15.9's accent-stripe border on the active tab.** A real screenshot showed it covering part of the tab's text with a white strip, not highlighting it \u2014 this native Windows tab style had already shown once (0.15.6) that it doesn't reliably honour a custom QSS border addition, and the accent stripe turned out to be another instance of the same problem. The active tab is shown with a background/text-colour difference again, exactly as it was in every release before 0.15.9, with no border property on this tab bar at all. Tab widths remain proportionate to each label (unchanged from 0.15.9 \u2014 that part wasn't the problem).\r\n\r\n## [0.15.9] - 2026-08-12\r\n\r\n### Changed\r\n- **Redesigned the tab strip.** Each tab is now sized to its own label instead of every tab being forced to match the widest one (\"Diagrams\") \u2014 the shared minimum-width fix from 0.15.8 fixed the fit, but made the two shorter tabs (\"Charts\", \"Labels\") look oversized and out of proportion. The active tab is now shown with a clean teal accent stripe along its top edge \u2014 a clearer, more conventional way to signal \"this one is open\" than relying on a size or colour difference alone, and it holds the same reserved thickness whether selected or not, so choosing a tab never resizes it.\r\n\r\n## [0.15.8] - 2026-08-12\r\n\r\n### Fixed\r\n- **Tab labels are correctly sized on every machine, not guessed.** A second real screenshot showed \"Diagrams\" and \"Labels\" still losing their last letter to the ellipsis fallback, meaning every fixed padding value tried across 0.15.2\u20130.15.7 still came up short against real desktop font rendering \u2014 this project's offscreen test harness simply can't reproduce the exact metrics of a real Windows session closely enough to pin down the right constant by trial and error. Instead of another guessed number, the tab bar's minimum width is now measured at runtime from `QFontMetrics` on the actual font Qt is using on your machine, with a generous safety margin added on top \u2014 it is derived from the same measurement Qt itself uses to paint the text, so it cannot be wrong about its own labels' width regardless of font, size, or DPI. Verified against four very different test fonts/sizes to confirm the value tracks whatever is actually active rather than assuming one specific font.\r\n\r\n## [0.15.7] - 2026-08-12\r\n\r\n### Changed\r\n- **Tabs are noticeably bigger than their own text**, not just barely fitting it.\r\n- **Removed the toolbar's separate \"About\" icon.** Its content already lives in the dock's own Guide \u2014 a second icon was pure redundancy.\r\n- **The Guide now links to the online documentation site** (a small \"\ud83c\udf10 Online docs & manual\" link in its sidebar, always visible while scrolling).\r\n- **Histogram axis labels are rounded** to at most 3 decimal places instead of Python's default 6-significant-figure formatting, which could produce long, unreadable numbers for small-magnitude fields (a 0\u20131 ratio field, for instance) and made the chart hard to read.\r\n\r\n### Fixed\r\n- **Suggest on a wide/tall layer no longer pulls every field into memory before even deciding whether to sample.** The 0.15.4 fix bounded the O(fields\u00b2\u00b7rows) correlation *scan*, but a report of the crash recurring twice more showed that wasn't the whole story: pulling every column of a genuinely wide grid/zonal-statistics layer into Python for up to 100,000 rows was itself heavy enough to strain memory, before any analysis began. The field count is now checked from cheap layer metadata and bounded up front \u2014 60 numeric fields by default, 300 if you explicitly choose \"Scan the full dataset\" \u2014 independent of, and in addition to, the existing scan cap.\r\n\r\n## [0.15.6] - 2026-08-12\r\n\r\n### Fixed\r\n- **Found the actual cause of the tab-label clipping**, from a user screenshot rather than another guess: every tab was missing its *first letter* \u2014 \"Charts\" read \"harts\", \"Diagrams\" read \"iagram\", \"Labels\" read \"abels\". That is a known Qt/Windows quirk: the native Windows tab style paints tabs through the real Windows theme engine, which reserves its own internal left inset that a custom stylesheet doesn't fully override, so the leading glyph gets painted under the tab's rounded left edge. This project's offscreen test harness has no native Windows theme engine to reproduce it against, which is why the previous few rounds (width, padding, label length) all missed the real mechanism. Fixed with extra left padding on each tab plus a small leading space in the label text \u2014 whatever gets eaten from the left edge is now blank space, never a real letter, regardless of the exact pixel amount. (An attempt to force the tab bar onto Qt's own Fusion style \u2014 which draws purely from the stylesheet and would have sidestepped the native theme rendering entirely \u2014 was tried and reverted: it segfaulted on dock teardown and didn't reliably apply anyway, likely from mixing an explicit style override with the panel's own stylesheet-driven style proxy. Not worth the crash risk for an unproven fix.)\r\n\r\n## [0.15.5] - 2026-08-12\r\n\r\n### Changed\r\n- **More breathing room in the tab strip.** Each tab's padding is more generous again (without reintroducing 0.15.2's fixed minimum width, so tabs still shrink to fit any dock size instead of running off the edge).\r\n- **Suggest asks first on a wide or tall layer.** If the layer has enough numeric fields or rows that the correlation search would otherwise be limited to a sample, Suggest now shows a short dialog: use a fast representative sample (recommended \u2014 the previous, silent default) or scan the entire dataset, with a plain-language note about what that trade-off means. Either way, the result now says which one was used, and a sampled result invites you to Suggest again and choose the full scan.\r\n\r\n## [0.15.4] - 2026-08-12\r\n\r\n### Fixed\r\n- **A real regression from 0.15.2/0.15.3.** Forcing the tab strip to expand and hold a fixed minimum width meant Qt kept it at that size even when the dock was too narrow to show it \u2014 and with the panel's horizontal scrollbar disabled (from the earlier scrollable-panel fix), the overflow simply ran off the right edge with no way to reach it. That is worse than the original \"tab looks tight\" complaint: a real user report confirmed part of the \"Diagrams\" label was being clipped mid-letter. Tabs are back to their natural, always-fit width (verified: every tab's text fits its own box at every dock width from 140px to 600px) with an ellipsis fallback for a genuine edge case, and the panel's horizontal scrollbar is now shown whenever something actually needs it, so nothing can become silently unreachable again.\r\n- **The real cause of an oversized panel.** Two tab intro sentences (\"Draw a diagram on every feature\u2026\" and \"Turn fields into well-placed labels\u2026\") were missing word-wrap, so Qt sized them to fit their *entire sentence on one line* \u2014 over 1000px each \u2014 which alone was forcing the whole studio panel more than 1500px wide. Both now wrap normally.\r\n- **A crash/hang risk in \ud83d\udca1 Suggest on wide layers.** Scanning every pair of numeric fields for the strongest correlation is quadratic in field count. A typical layer has a handful of numeric fields and this is instant, but a grid or zonal-statistics layer can carry dozens to hundreds of derived numeric columns over up to 100,000 rows \u2014 uncapped, that is hundreds of millions of pure-Python operations run synchronously on the UI thread, which can read as QGIS freezing or being killed outright rather than a slow click. The scan is now bounded to an evenly-sampled subset of rows and the first 40 numeric fields, so Suggest stays fast and safe regardless of the layer's width or height.\r\n\r\n## [0.15.3] - 2026-08-12\r\n\r\n### Changed\r\n- **The Map diagrams tab is now labelled \"Diagrams\" in the tab strip.** Even with 0.15.2's wider, evenly-shared ribbon, the full \"Map diagrams\" label could still run tight against real desktop font metrics on a narrower dock. A shorter label removes the dependency on exact dock width or font rendering entirely \u2014 the tab's own card and the guide still say \"Map diagrams\" in full. A text-elide fallback (\"\u2026\") is also set, so any future overflow degrades gracefully instead of silently clipping.\r\n\r\n## [0.15.2] - 2026-08-12\r\n\r\n### Changed\r\n- **The tab ribbon (Charts / Map diagrams / Labels) now fills its full width.** Each tab used to be sized only to its own text plus a little padding; the three now stretch evenly to use the whole row, so the longest label (\"Map diagrams\") gets generous room instead of a tight fit.\r\n- **Render chart gets a visual accent.** The button carries a soft salmon (\"yavru a\u011fz\u0131\") stroke around its usual teal fill, so the studio's single most-used action stands out from the row of export/suggest buttons around it.\r\n\r\n## [0.15.1] - 2026-08-12\r\n\r\n### Fixed\r\n- **The dock content was squashed instead of scrolling on a short panel.** Docking the studio narrow/short (or on a small screen) simply compressed every row instead of letting you reach the rest \u2014 the panel is now wrapped in a scroll area, so it still stretches to fill a tall dock exactly as before, but scrolls when there isn't enough height instead of clipping the bottom rows away.\r\n- **The selected tab's label looked clipped/unreadable.** `QTabBar::tab:selected` set a bolder font weight than the unselected tabs, but Qt sizes each tab's box once from its normal-weight text and does not re-lay it out on a pseudo-state change \u2014 so the wider bold glyphs of the active tab (worst on \"Map diagrams\") overflowed the box they were already sized for. All three tabs now use the same font weight, so the active tab is still clearly highlighted (background + colour) but never grows past its own label.\r\n\r\n## [0.15.0] - 2026-08-11\r\n\r\n### Fixed\r\n- **Toolbar icon needed two clicks to open the studio.** `iface.addDockWidget()` already makes a freshly created dock visible, so the old toggle handler's `setVisible(not isVisible())` ran against an already-visible dock on that very first click and immediately hid it again \u2014 the user had to click the icon a second time to actually see the panel. The first click now always shows the dock; every click after that toggles normally.\r\n\r\n### Added\r\n- **Proportional-symbol map diagrams.** The Map diagrams tab has a new \"Size by\" field: pick a numeric field and every feature's diagram is linearly scaled between a small and a full-size diagram by that field's value (backed by QGIS's native `QgsLinearlyInterpolatedDiagramRenderer`), instead of every feature drawing the same fixed size \u2014 the classic proportional-symbol map. Leave it empty for the previous fixed-size behaviour.\r\n- **Diagram opacity control** in the Map diagrams tab (was already supported by the renderer but never exposed).\r\n- **Avoid overlaps** checkbox for map diagrams: lets QGIS drop diagrams that would collide instead of always drawing every one of them regardless of space.\r\n- **Chip label preset**: a new rounded background badge behind the label text, alongside the existing Clean / Strong halo / Bold / Plain presets.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/zero2viz/version/0.15.13/download/"}