1. 06 Oct, 2026 14 commits
  2. 05 Oct, 2026 1 commit
    • Matthias Betz's avatar
      stream large CityGML and zip files, fix geometry and view bugs · d7e5ee79
      Matthias Betz authored
      
      
      Loading
      - parse into fixed-size per-LOD blocks and upload them to the GPU while
        reading, so memory stays flat for multi-GB files (3.4 GB 3D-DLM loads
        with a JS heap below 90 MB) and the model is shown during loading
      - load the single .gml (or .xml) inside a zip archive, decompressed as a
        stream, including ZIP64
      - reject 7z/RAR/gzip and other non-XML input at once with a clear message,
        and enable the sax buffer limit that unterminated "<!" in binary data
        used to bypass until the tab ran out of memory
      - decode UTF-8 across chunk borders, cancel a running load when a new
        file is chosen, report load errors
      
      Geometry
      - split coordinates on any whitespace (indented posList, one pos per line)
      - subtract the origin in double precision before float32 conversion
      - handle PolygonPatch, Rectangle and Triangle
      - tag geometry with its LOD; setLodVisible() prepares LOD switches
      - light brown for land use and relief, nested colours restore the parent
      
      View
      - bind shader attribute locations, check compile/link errors, free GPU
        buffers of the previous file
      - infinite far plane with a near plane following the camera distance,
        starting distance fitted to the model without a 10 km cap
      - minimum zoom step and distance, pan speed proportional to the distance
      
      Tests: npm test (Node 22+), 73 tests
      
      Co-Authored-By: default avatarClaude Opus 5.5 (1M context) <noreply@anthropic.com>
      d7e5ee79
  3. 27 Feb, 2026 2 commits
  4. 18 Feb, 2025 2 commits
  5. 20 Jun, 2024 4 commits
  6. 11 Jun, 2024 1 commit
  7. 29 May, 2024 5 commits
  8. 12 Mar, 2021 2 commits
  9. 09 Mar, 2021 1 commit
  10. 08 Mar, 2021 3 commits
  11. 14 Sep, 2020 1 commit
  12. 11 Aug, 2020 1 commit
  13. 16 Jul, 2020 3 commits