@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
@@ -30,7 +30,8 @@ export type FrameState = {
30
30
  /** Optional world-space clipping planes applied to render-content culling. */
31
31
  clippingPlanes?: Plane[];
32
32
  frameNumber: number; // TODO: This can be the same between updates, what number is unique for between updates?
33
- sseDenominator: number; // Assumes fovy = 60 degrees
33
+ /** Perspective projection factor: twice the tangent of half the vertical field of view. */
34
+ sseDenominator: number;
34
35
  /** View-dependent density used by perspective dynamic screen-space error for this traversal. */
35
36
  dynamicScreenSpaceErrorDensity: number;
36
37
  };
@@ -151,6 +152,11 @@ export function getFrameState(
151
152
  pitch: 0
152
153
  });
153
154
 
155
+ const verticalFieldOfView =
156
+ Number.isFinite(viewport.fovy) && Number(viewport.fovy) > 0 && Number(viewport.fovy) < 180
157
+ ? (Number(viewport.fovy) * Math.PI) / 180
158
+ : Math.PI / 3;
159
+
154
160
  // TODO: make a file/class for frameState and document what needs to be attached to this so that traversal can function
155
161
  return {
156
162
  camera: {
@@ -158,10 +164,7 @@ export function getFrameState(
158
164
  direction: cameraDirectionCartesian,
159
165
  up: cameraUpCartesian,
160
166
  cartographicPosition: cameraPositionCartographic,
161
- verticalFieldOfView:
162
- Number.isFinite(viewport.fovy) && Number(viewport.fovy) > 0
163
- ? (Number(viewport.fovy) * Math.PI) / 180
164
- : Math.PI / 3,
167
+ verticalFieldOfView,
165
168
  timeSinceMovement: options.timeSinceCameraMovement ?? Number.POSITIVE_INFINITY
166
169
  },
167
170
  viewport,
@@ -170,7 +173,7 @@ export function getFrameState(
170
173
  cullingVolume,
171
174
  clippingPlanes: viewport.clippingPlanes,
172
175
  frameNumber, // TODO: This can be the same between updates, what number is unique for between updates?
173
- sseDenominator: 1.15, // Assumes fovy = 60 degrees
176
+ sseDenominator: 2 * Math.tan(verticalFieldOfView / 2),
174
177
  // Tileset3D fills this immediately before traversal because it depends on the root volume.
175
178
  dynamicScreenSpaceErrorDensity: 0
176
179
  };