{"name": "3D OSM Model", "package_name": "osm_3d_model", "version": "1.7.0", "experimental": false, "qgis_min": "3.28.0", "qgis_max": "4.99.0", "downloads": 654, "uploaded_by": "geo140195philo", "upload_datetime": "2026-08-21T07:36:18.493964", "changelog": "## [1.7.0] - 2026-08-21\r\n\r\n### Added\r\n\r\n- **A GitHub link in the viewer toolbar.** The exported city now carries a repo\r\n  button, and the help overlay a \"Star the plugin on GitHub\" line, so anyone the\r\n  city is shown to can find the project.\r\n- **The hectare readout follows the map canvas.** Zooming, panning or changing\r\n  the project CRS now updates the \"Canvas extent \u00b7 \u2248 N ha\" estimate live; it only\r\n  refreshed when the dialog opened or a radio button changed, so it routinely\r\n  described a view the user had already left. When the extent is larger than the\r\n  Max study area it says so \u2014 \"clipped to 150 ha \u2014 zoom in to keep it all\" \u2014\r\n  rather than showing a figure the export will not honour.\r\n\r\n### Changed\r\n\r\n- **Residential and Urban walls now dominate every reseed.** The photo-based\r\n  Residential A\u2013F and Urban A\u2013E facades are what an exported city is judged on,\r\n  so every reseed \u2014 an asset theme, a colour theme, a shuffled look \u2014 draws three\r\n  Residential walls for each Urban one, using all six residential facades before\r\n  any repeats. The flat procedural walls (CivicStone, CampusGlass,\r\n  MediterraneanStucco, CoastalWhite) stay in the Style dock's per-function\r\n  dropdown and remain the fallback; they simply no longer win a reseed.\r\n- **Walk mode pace and gait, after real use.** Walking is 1.8 m/s (6.5 km/h)\r\n  rather than the 1.4 m/s textbook mean, which read as sluggish in the viewer,\r\n  and Shift runs at 3.6 m/s. Head movement is roughly 40% smaller \u2014 1.3 cm\r\n  vertical and 0.9 cm lateral.\r\n\r\n### Fixed\r\n\r\n- **Overpass downloads now use QGIS's own network stack.** They went through\r\n  Python's `urllib`, which bypasses every network setting QGIS holds: the proxy,\r\n  the TLS configuration and the certificate store. Behind a corporate proxy or\r\n  with a pinned TLS version that surfaced as `SSL: WRONG_VERSION_NUMBER` and\r\n  looked like the OSM servers were down. Ported from the sibling OSM Quick 3D\r\n  plugin, where the same fix landed in v0.50.0.\r\n- **A dropped connection or a 5xx is retried once on the same mirror** before\r\n  moving on, which converts a large share of transient Overpass failures into\r\n  successes. A permanent failure (a bad URL, a malformed body) is not retried, so\r\n  an error still surfaces promptly. The final message names the mirrors that were\r\n  tried and why each failed, instead of reporting only the last one.\r\n- New headless coverage for the mirror/retry decisions against a stubbed\r\n  transport: a success stops the search, a transient failure retries once, a\r\n  permanent one does not, every mirror is tried at most twice, an Overpass\r\n  `remark` fails over instead of being trusted, cancellation is honoured before\r\n  the first request, and the downloader cannot silently drift back to `urllib`.\r\n\r\n## [1.6.0] - 2026-08-21\r\n\r\n### Changed\r\n\r\n- **Walk mode is now a body, not a camera.** Everything vertical derives from one\r\n  new setting \u2014 the walker's stature, 1.85 m by default \u2014 using standard\r\n  anthropometry: the eyes sit at 93.6% of stature (1.73 m), and 60% when\r\n  crouched. Scene & Sun gains a **Walk mode** section with body height, walking\r\n  pace, solid buildings and head movement, and the walk HUD shows the live eye\r\n  height and speed so you can see you are standing in the model rather than\r\n  flying through it.\r\n- **Human pace.** The walker used to accelerate to 9.2 m/s \u2014 33 km/h, a car in a\r\n  city. Pace 1.0 is now 1.4 m/s (5.0 km/h), the mean adult walking speed; Shift\r\n  is a 3.3 m/s jog and crouching halves it.\r\n- **Buildings are solid.** You can no longer walk through walls. Each horizontal\r\n  axis is resolved separately, so a wall is slid along rather than bringing you\r\n  to a dead stop in a corner. The check can be turned off in the dock.\r\n- **Gait.** The head rises and falls twice per stride and sways once, both scaled\r\n  by how fast the body is actually travelling \u2014 so standing still is perfectly\r\n  still. Total travel is 2.2 cm vertical and 1.6 cm lateral: a cue, never a\r\n  camera shake.\r\n- **Entering walk mode lands you where you were looking** instead of wherever the\r\n  orbit camera happened to hover, which from a wide overview was often hundreds\r\n  of metres outside the model. Walk mode also takes a 72\u00b0 field of view and hands\r\n  the orbit one back on exit.\r\n- **The walker stays on the model.** You could previously walk off the edge of\r\n  the base into empty space.\r\n- The plugin icon's artwork is enlarged to fill the tile edge to edge; it was\r\n  sitting small and low with the whole upper half of the tile empty, which is\r\n  what you actually saw at toolbar size.\r\n\r\n### Fixed\r\n\r\n- **Walk speed depended on your frame rate.** Friction was applied as\r\n  `1 - k\u00b7dt`, so the same key press covered noticeably different ground at 30 fps\r\n  and at 144 fps \u2014 invisible on the machine it was written on.\r\n- **The walker never reached the speed the code intended.** Acceleration was a\r\n  constant force fighting friction, so velocity settled wherever the two happened\r\n  to balance (1.077 m/s with the current tuning) and the speed clamp above it\r\n  never applied once. Velocity now ramps toward the wanted pace and reaches it.\r\n- Crouching changed the walking speed but not the eye height in the handler that\r\n  set it on entry, so entering walk mode crouched put the eyes at the standing\r\n  height.\r\n\r\n## [1.5.0] - 2026-08-21\r\n\r\n### Added\r\n\r\n- **Looks: one-click randomize.** A new dice button in the viewer toolbar (or the\r\n  `L` key) applies one of ten hand-tuned compositions \u2014 colour palette, road and\r\n  ground textures, roof type and massing, time of day, weather and fog, chosen\r\n  together so each look reads the way it was designed to. It is a curated draw,\r\n  not a random one: shuffling picks from the ten and never hands back the look\r\n  already on screen. Layer visibility is deliberately never touched, so a look\r\n  cannot switch heavy layers back on behind you.\r\n- **Look gallery.** A new dock lists all ten looks with a four-stop palette\r\n  swatch and a one-line description, so a look can also be picked deliberately\r\n  instead of shuffled. The active look stays highlighted and survives a reload.\r\n  The ten: Editorial Dusk, Nordic Snowfall, Harbor Morning, Golden\r\n  Mediterranean, Neon Rain, Anime Noon, Violet Dawn, Desert Noon, Cartoon\r\n  Playground and Vintage Postcard.\r\n- **Cinematic tour.** The play button (or `T`) flies a five-shot, 35-second\r\n  choreography \u2014 establishing orbit, district sweep, descent, street level and a\r\n  golden-hour rise \u2014 with the sun advancing from morning to dusk along the way.\r\n  The shots are expressed as fractions of the model's own extent, so the same\r\n  tour frames a four-hectare courtyard and a 300-hectare district. Point Export\r\n  Studio's recorder at it for a finished clip. A HUD shows the shot, the clock\r\n  and a progress bar; the tour hands the camera, the field of view and the time\r\n  of day back exactly as it found them when it ends, and any click, scroll,\r\n  `Esc` or second press of `T` stops it early.\r\n\r\n### Fixed\r\n\r\n- **Unreadable dashboard panel in dark mode.** The v0.8.0 design-token refactor\r\n  themed the panel surface but never reached the dashboard's contents, which\r\n  still carried the hardcoded light-mode colours they were written with \u2014 dark\r\n  slate body text on a dark navy panel, white metric cards punched into it, and\r\n  a light-grey Area Statistics block. Every one of those colours is now a theme\r\n  token, so the panel is legible in both themes; the six metric tiles moved from\r\n  a ragged four-column grid to an even three-by-two.\r\n- **Fog stayed daylight blue after dark.** The scene fog colour was a fixed\r\n  daytime value, so any night or dusk scene with real fog was washed out by a\r\n  bright haze that hid the whole city. Fog now tracks the sun through night,\r\n  dusk and day.\r\n- **Switching colour theme in the viewer did nothing.** Theme colours were always\r\n  read from the export manifest first, which is right on load \u2014 the theme chosen\r\n  in QGIS must win \u2014 but meant a theme changed at runtime kept the exported\r\n  theme's roads, base and greens. The manifest now wins only on load.\r\n- **Per-function building styles could drift from the colour theme.** They persist\r\n  under their own key, so reopening an export after the theme moved on could\r\n  leave every building painted in the previous theme's colours and roofs. They\r\n  are now reseeded when none of them matches the active theme any more, while\r\n  deliberate per-function edits are kept.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/osm_3d_model/version/1.7.0/download/"}