@loaders.gl/tiles 5.0.0-alpha.7 → 5.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +26 -0
  2. package/dist/dist.dev.js +6782 -6939
  3. package/dist/dist.min.js +3 -6
  4. package/dist/index.cjs +235 -75
  5. package/dist/index.cjs.map +3 -3
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/spatial/spatial-coordinate-transformer.d.ts.map +1 -1
  11. package/dist/spatial/spatial-coordinate-transformer.js +18 -11
  12. package/dist/spatial/spatial-coordinate-transformer.js.map +1 -1
  13. package/dist/spatial/spatial-resource-registry.d.ts +4 -4
  14. package/dist/spatial/spatial-resource-registry.d.ts.map +1 -1
  15. package/dist/spatial/spatial-resource-registry.js +5 -5
  16. package/dist/spatial/spatial-resource-registry.js.map +1 -1
  17. package/dist/tileset-3d/common/tile-3d.d.ts +4 -0
  18. package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
  19. package/dist/tileset-3d/common/tile-3d.js +35 -14
  20. package/dist/tileset-3d/common/tile-3d.js.map +1 -1
  21. package/dist/tileset-3d/common/tileset-3d.d.ts +1 -25
  22. package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
  23. package/dist/tileset-3d/common/tileset-3d.js +8 -41
  24. package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
  25. package/dist/tileset-3d/common/tileset-content-traversal.d.ts +37 -0
  26. package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +1 -0
  27. package/dist/tileset-3d/common/tileset-content-traversal.js +80 -0
  28. package/dist/tileset-3d/common/tileset-content-traversal.js.map +1 -0
  29. package/dist/tileset-3d/common/tileset-source.d.ts +8 -1
  30. package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -1
  31. package/dist/tileset-3d/common/tileset-source.js.map +1 -1
  32. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +7 -1
  33. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -1
  34. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +35 -3
  35. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -1
  36. package/dist/tileset-3d/format-i3s/i3s-source.d.ts +4 -2
  37. package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -1
  38. package/dist/tileset-3d/format-i3s/i3s-source.js +60 -9
  39. package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -1
  40. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +1 -1
  41. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +1 -1
  42. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -1
  43. package/dist/tileset-3d/helpers/frame-state.d.ts +1 -0
  44. package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -1
  45. package/dist/tileset-3d/helpers/frame-state.js +5 -4
  46. package/dist/tileset-3d/helpers/frame-state.js.map +1 -1
  47. package/package.json +11 -13
  48. package/src/index.ts +5 -0
  49. package/src/spatial/spatial-coordinate-transformer.ts +24 -15
  50. package/src/spatial/spatial-resource-registry.ts +7 -7
  51. package/src/tileset-3d/common/tile-3d.ts +39 -17
  52. package/src/tileset-3d/common/tileset-3d.ts +8 -60
  53. package/src/tileset-3d/common/tileset-content-traversal.ts +114 -0
  54. package/src/tileset-3d/common/tileset-source.ts +16 -1
  55. package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +43 -3
  56. package/src/tileset-3d/format-i3s/i3s-source.ts +84 -13
  57. package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +2 -1
  58. package/src/tileset-3d/helpers/frame-state.ts +9 -6
package/README.md CHANGED
@@ -38,6 +38,32 @@ The shared `Tileset3DSource` contract owns:
38
38
 
39
39
  `Tileset3D` remains responsible for traversal, culling, request scheduling, selection, and cache management.
40
40
 
41
+ ### Camera-independent content traversal
42
+
43
+ Conversion and inspection jobs can visit the complete dataset without creating a viewport:
44
+
45
+ ```ts
46
+ import {traverseTilesetContents} from '@loaders.gl/tiles';
47
+
48
+ for await (const {tile, contents} of traverseTilesetContents(tileset, {signal})) {
49
+ // `contents` preserves the tile's declared content order.
50
+ processTile(tile, contents);
51
+ }
52
+ ```
53
+
54
+ The traversal follows declared placements in depth-first order, resolves lazy 3D Tiles subtrees and
55
+ I3S child headers through their source, and visits nested tilesets before descending into them.
56
+ Repeated resource URLs remain separate visits when they appear at different placements, since each
57
+ placement can have its own transform. By default, the caller owns loaded-content lifetime and
58
+ should unload or destroy the tileset when processing completes.
59
+
60
+ Pass `{signal, unloadContent: true}` with a runtime dedicated to traversal to unload newly read
61
+ content when the iterator advances or closes, including on cancellation and errors. Preloaded
62
+ content is retained. Finish processing each placement before requesting the next one; do not retain
63
+ payloads or concurrently update the runtime. Tile placements and children remain available, and the
64
+ caller still owns tileset destruction and source/archive lifetimes. This limits content retention,
65
+ not decoder allocations, source caches, or the full dataset's metadata.
66
+
41
67
  For broader documentation please visit the [website](https://loaders.gl).
42
68
 
43
69
  ## Tileset2D