Potree.js Changelog (1.8.2 → 360ForYou edition)

Summary

+1889 additions, -1238 deletions

New Features

  • IFC Support — added ifcs array, addIFC() method, display in scene tree
  • Images360 — reworked logic: double-click to focus, linked spheres, title/description changes
  • Height2 Tool — height measurement with horizontal projection and angles
  • 8 Corner Views (FLU, FRU, BLU, BRU, FLD, FRD, BLD, BRD)
  • NavigationCube — added ring and corner spheres
  • Map — multiple layers (OSM, OpenTopoMap, Esri, Bing), consent overlay

Improvements

  • Measurement precision increased to 3 decimal places
  • Extended scene save/load (materials, visibility, clip settings)
  • WASD+EQ keyboard controls for EarthControls
  • D3 API updated to v7
  • Point Budget: min 1M → max 100M
  • Russian localization added

Optimizations

  • Animation loop pauses for hidden tabs
  • Removed console.log statements for production
  • Commented out unused classes (LasLazBatcher, BinaryLoader, NodeLoader, Compass, etc.)

Bugfixes

  • Point cloud profile rendering fix — fixed RGBA attribute numElements calculation that prevented profile display

Units Support

  • Flexible units configuration — independent settings for coordinates (m/ft/in) and display measurements (m/ft/in), allowing any combination (e.g., coordinates in feet, measurements in meters)

Detailed Changelog

1. Rendering & Performance Optimization

Lines Change
12858 Animation loop optimization: Rendering pauses when tab is hidden or 60+ seconds since last update
55327 Commented out console.log for point search duration
56936-56938 Commented out returnNumber, numberOfReturns, return number attributes (unused)
61263, 61320 Commented out console.log for duration
62757 Commented out console.log for shader compile duration
77531 Commented out console.log for timing measurement
64225-64226 BUGFIX: Point cloud profile not displaying — fixed RGBA attribute numElements (changed from 3 to 4), which was causing profile extraction to fail silently

2. Measurements - Increased Precision

Lines Change
53885-53896 Added projectionLabel for displaying horizontal projection
54101-54143 New methods transformCoordinates() and calculatePolygonArea() for correct 3D area calculation
54220-54221 Coordinates displayed with 3 decimal places (was 2), added Deviation display
54292 Length displayed with 3 decimal places (was 2)
54311 Angle displayed with 2 decimal places (was 1)
54361 Height displayed with 3 decimal places (was 2)
54365-54417 New block: horizontal projection calculation + angles for height measurement
54487 Area displayed with 2 decimal places (was 1)
54687 Utils.toString() for Vector3 with 3 decimal places (was 2)
68563 Azimuth with 3 decimal places (was 2)
68775-68782 projectionLabel scaling
74826, 75325 Angles with 2 decimal places (was 1)
75338 Volume dimensions with 3 decimal places (was 2)
75352 Volume with 3 decimal places (was 2)
76741, 76768 Height range with 3 decimal places
76820-76836 Gamma/Contrast/Brightness with 3 decimal places (was 2)

3. Scene Save/Load - Extended Settings

Lines Change
64397-64407 Material save: weightRGB, weightIntensity, weightElevation, elevationGradientRepeat, gradient, rgbGamma/Brightness/Contrast, intensityGamma/Brightness/Contrast
64417 Save pointcloud visibility
64445-64446 Save clipTask, clipMethod for volume
64492 Save measurement visibility
64515-64550 New functions: createImages360Data(), createIfcData()
64550 Save annotation visibility
64600 Save useHQ (splat quality)
64664-64671 Save volumes, images360, ifcs
65237-65265 Load extended material settings
65308 Load measurement visibility
65320-65369 New functions: loadImages360(), loadIfcVisibility()
65453-65477 Load clipTask/clipMethod for volume, annotation visibility
65581-65587 Load images360 and ifcs

4. Point Classification

Lines Change
59101 DEFAULT classification renamed from 'default' to 'other'
59492-59494 Commented out i % 32 classification logic
59687-59693 Fallback to color when intensity=0 if intensityRange[1]=0

5. 360-degree Images (Images360)

Lines Change
77776-77777 Reduced sphere size (0.25 instead of 1), increased detail
77784 Added previousHovered for double-click
77822 Each sphere gets its own material
77830 Added spheres_scale for sphere scaling
77833-77839 Unfocus button repositioned and given ID
77853-77869 Double-click to focus instead of single click
77879 Changed sphere visibility logic
77894-77930 Extended focus(): save useHQ, show only linked spheres, change title/description
77952-78015 Extended unfocus(): restore HQ, fitToScreen by URL params, change EDLOpacity
78067-78080 Color change on hover (instead of material swap)
78103-78159 Parse mid, setupName, links from file; create mesh with transparency

6. Map (MapView) - Complete Overhaul

Lines Change
71872-71896 Commented out proj4.defs (projection definitions moved out)
71988-72113 New map layers: OSM, OpenTopoMap, Esri Satellite, Bing Satellite, custom images from sitemaps_json
72228-72235 Mouse coordinates in scene system with conversion
72287, 72340-72341 Changed line color to #4682B4, width 3
72453-72474 3D coordinates for transformation (added Z)
72521-72625 3D coordinates for images360 and bounds
72684 Simplified sceneLookAt calculation
72585-72619 Consent overlay for map with localStorage persistence

7. Profile - D3 Update

Lines Change
73776-73779 D3 API update: d3.scale.linear()d3.scaleLinear()
73783-73799 D3 API update: d3.svg.axis()d3.axisBottom()/d3.axisLeft()
73928-73941 Similar changes for axis updates
75381-75382 "show 2d profile" button hidden by default

8. Navigation & Controls

Lines Change
82117-82344 NavigationCube: added ring and corner spheres, yOffset=130, width=100
82476-82544 UP/DOWN keys: added E/Q
82797-82812 EarthControls: added WASD keys, moveSpeed, translationDelta
82906-82968 Inverted mouse control when 360 mode is active
83040-83156 Keyboard controls for EarthControls
88066 VR scale with 3 decimal places

9. GUI / Sidebar

Lines Change
79617 Click on version toggles sidebar
79708-79729 New Height2 tool (height with projection and angles)
79837-79838, 80064-80065 Auto-click on show_2d_profile
79869-79915 Localized selectgroup titles
79946 Added length_units and measurement_units selectors
80000-80046 IFCs in scene tree
80169-80322 Recursive visibility update for child nodes
80449-80462 Localized clip_task/clip_method
80678-80703 Simplified Point Source ID slider
80862 Added Russian language (RU)
80896-80898 Increased Point Budget: min 1M, max 100M, step 1M
80910-80978 Second FOV slider (sldFOV2)
81039-81225 Commented out Navigation Cube and Compass buttons; extended splat quality logic with WebGL extensions check

10. Viewer

Lines Change
88644 Map consent overlay potential
88849-88850 Compass disabled (null)
89232-89489 New setView methods: FLU, FRU, BLU, BRU, FLD, FRD, BLD, BRD (corner views)
89584 setEDLOpacity updates slider
89778-89786 toggleSidebar also moves sidebar container
89890 Preload languages: en, fr, de, ru
89337-89373 Flexible units support — added setDisplayUnit() method; coordinates and display measurements can now use different units independently (m/ft/in), e.g., coordinates in feet with measurements shown in meters

11. Scene

Lines Change
71451 Added ifcs array
71628-71641 addIFC() method with ifc_added event
71752-71757 removeAllMeasurements() no longer removes clip volumes

12. Commented Out / Removed Classes

Lines Class
65926-66000 LasLazBatcher (commented out)
66001-66148 BinaryLoader (commented out)
66516-66800 NodeLoader (commented out)
66997-67107 EptBinaryLoader (commented out)
67269-67279 EptZstandardLoader (commented out)
70399-70453 Compass (commented out)

13. EptLaszipLoader

Lines Change
67209-67230 Added deviation attribute

14. Renderers

Lines Change
70553-70560, 70898-70905, 71218-71225 NavigationCube rendered with yOffset consideration

15. Version

Lines Change
91014 Version changed from .0 to .2

16. Exports

Lines Change
91186-91268 Commented out exports: Compass, EptBinaryLoader, EptZstandardLoader, NodeLoader