|
| 1 | +# OpenLiDARViewer v0.4.9 |
| 2 | + |
| 3 | +An honesty-and-polish release. The Analyse panel now leads with one plain |
| 4 | +verdict, every surface reports the file's true scale instead of the display |
| 5 | +sample, and the deploy is ~1 MB leaner. Still browser-native, local-first, |
| 6 | +nothing uploaded. |
| 7 | + |
| 8 | +## Highlights |
| 9 | + |
| 10 | +- **Data Fitness scorecard** — the Analyse panel opens with one plain-language |
| 11 | + verdict and a six-row traffic-light scorecard: Location & height, Coverage, |
| 12 | + Ground detail, Vertical accuracy, Classification, Integrity. Each row pairs a |
| 13 | + metaphor icon with a shape-distinct tone glyph (check / dash / triangle, never |
| 14 | + colour alone), the caveats can't be hidden, and the USGS Quality Level badge |
| 15 | + appears only when earned — georeferenced, density above the |
| 16 | + floor, and accuracy validated. |
| 17 | +- **Panel de-duplication** — each fact now has exactly one home. The scorecard is |
| 18 | + the headline; the assessment block carries export readiness, terrain products, |
| 19 | + and "Why?"; and the collapsed Details holds the single composite score plus the |
| 20 | + validation detail nothing else shows. |
| 21 | + |
| 22 | +## File-scale honesty |
| 23 | + |
| 24 | +- **The numbers describe the file, not the display sample.** Large clouds are |
| 25 | + strided down for rendering, so the in-memory count is a subset. The Scan Report, |
| 26 | + the Engineering Inspection PDF, the Provenance density, and the Layers chip now |
| 27 | + report the file's true point count and areal density (back-scaled from the |
| 28 | + sample), with a "Loaded" row disclosing the subset — a dense survey no longer |
| 29 | + reads as several times sparser than it is. |
| 30 | +- **Capture type** — dense drone surveys (UAV LiDAR, ~100–1000 pts/m² over an open |
| 31 | + mapping footprint) are identified as drone-mounted LiDAR rather than Terrestrial |
| 32 | + Laser Scan, matching the cited density literature. |
| 33 | +- **Honest height wording** — a horizontally-georeferenced scan with an undeclared |
| 34 | + vertical datum (common for drone LiDAR: absolute Z, no VerticalCRS) reads |
| 35 | + "elevation datum not declared" rather than "heights are relative." Its heights |
| 36 | + are absolute; only the datum is unverified. Truly floating scans still read |
| 37 | + "relative." |
| 38 | +- **Honest classification + terrain wording** — a classification dimension |
| 39 | + carrying no assigned classes reads "Present, unclassified" instead of a bare |
| 40 | + "Yes," and the Terrain Intelligence Report labels its ground-point counts |
| 41 | + "Ground points / Used in DTM" rather than the misreadable "Source points." |
| 42 | + |
| 43 | +## Fixes |
| 44 | + |
| 45 | +- The point cloud no longer clips to a square on browser zoom-out. |
| 46 | +- Contour GeoJSON exports carry 3D coordinates (elevation) and per-feature |
| 47 | + evidence grades. |
| 48 | +- Vertical units are honoured — `VerticalUnitsGeoKey` (4099) and the WKT vertical |
| 49 | + `UNIT` are parsed, and Z is scaled to metres for accuracy bucketing. |
| 50 | + |
| 51 | +## Deploy & hardening |
| 52 | + |
| 53 | +- **~1.05 MB lighter.** The brand mark and favicon are re-rastered to display size |
| 54 | + (the 530 KB master moves out of the shipped bundle into `design/`, kept for |
| 55 | + regenerating share cards), so first paint carries a fraction of the previous |
| 56 | + brand weight. |
| 57 | +- **Portable hardening** — a `_headers` file ships alongside `.htaccess` so the |
| 58 | + same deploy is hardened on Netlify / Cloudflare Pages-style hosts, the PWA |
| 59 | + manifest uses relative paths + scope for subpath hosting, and |
| 60 | + `X-Frame-Options: SAMEORIGIN` is set. |
| 61 | + |
| 62 | +## Under the hood |
| 63 | + |
| 64 | +- A tested orchestration seam for the full-cloud grade (plan → coverage → |
| 65 | + back-scaled grade) landed ahead of its streaming surface — consistent with the |
| 66 | + project's "tested core first, UI follows" pattern. |
| 67 | + |
| 68 | +These confidence figures and quality grades describe the delivered data; they are |
| 69 | +not a survey-grade certification. Treat terrain products and exports as |
| 70 | +deliverable-ready only when the assessment reads **Good**, and validate against |
| 71 | +ground control where survey-grade accuracy is required. |
| 72 | + |
| 73 | +See [CHANGELOG.md](./CHANGELOG.md) for the full list. |
| 74 | + |
| 75 | +## Deploy |
| 76 | + |
| 77 | +Static files — host anywhere (GitHub Pages, Netlify, any CDN). The deploy zip |
| 78 | +extracts with web-safe permissions (644 files / 755 directories) and carries |
| 79 | +`index.html` plus `assets/` at the archive root, along with `.htaccess` and |
| 80 | +`_headers` for host-side security headers. |
0 commit comments