|
@@ -2,6 +2,201 @@
|
|
|
|
|
|
Series of manually performed test cases for scenarios that are difficult / not feasible to test in an automated fashion.
|
|
|
|
|
|
-## Tests
|
|
|
+## Verify all sibling tiles load when loadSiblings = true
|
|
|
|
|
|
-TODO
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Ensure `loadSiblings` is enabled.
|
|
|
+1. Ensure `displayActiveTiles` is enabled.
|
|
|
+1. Zoom in as much as possible so much of the tileset is not visible.
|
|
|
+1. Wait until all tiles have loaded.
|
|
|
+1. Disable the `enableUpdate` option.
|
|
|
+1. Zoom out to view the whole tileset.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Tiles are displayed all the way out to the edge of the tileset.
|
|
|
+
|
|
|
+## Verify sibling tiles do _not_ load when loadSiblings = false
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Ensure `loadSiblings` is disabled.
|
|
|
+1. Ensure `displayActiveTiles` is enabled.
|
|
|
+1. Zoom in as much as possible so much of the tileset is not visible.
|
|
|
+1. Wait until all tiles have loaded.
|
|
|
+1. Disable the `enableUpdate` option.
|
|
|
+1. Zoom out to view the whole tileset.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Only tiles that were visible when zoomed in are displayed.
|
|
|
+
|
|
|
+## Verify that active tiles render when displayActiveTiles = true
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Ensure `loadSiblings` is enabled.
|
|
|
+1. Ensure `displayActiveTiles` is enabled.
|
|
|
+1. Zoom in as much as possible so much of the tileset is not visible.
|
|
|
+1. Wait until all tiles have loaded.
|
|
|
+1. Disable the `enableUpdate` option.
|
|
|
+1. Zoom out to view the whole tileset.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Tiles are displayed all the way out to the edge of the tileset but they are not when `displayActiveTiles` is false.
|
|
|
+
|
|
|
+## Verify tiles load up to errorTarget option
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Open the Javascript console.
|
|
|
+1. Ensure `errorTarget` is set to `6`.
|
|
|
+1. Enable `SCREEN_ERROR` color mode.
|
|
|
+1. Zoom to various levels.
|
|
|
+1. Click on tiles to view current screen space error in the console.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+No tiles are above the 6.0 error target threshold.
|
|
|
+
|
|
|
+## Verify parent tiles do not load outside of the errorThreshold option
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Set error target to 2.
|
|
|
+1. Set error threshold to 6.
|
|
|
+1. Open the javascript console.
|
|
|
+1. Hit "reload".
|
|
|
+1. Inspect the tileset using the following script:
|
|
|
+
|
|
|
+```js
|
|
|
+tiles.traverse( tile => {
|
|
|
+
|
|
|
+ let str = new Array( tile.__depth + 1 ).join( ' ' );
|
|
|
+ str += tile.__error.toFixed( 2 );
|
|
|
+ str += ' : ';
|
|
|
+ str += tile.__loadingState;
|
|
|
+ console.log( str )
|
|
|
+ return tile.__isLeaf;
|
|
|
+
|
|
|
+} );
|
|
|
+```
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Verify that no parent tiles have loaded ( `__loadingState = 0` ) if they have a threshold above 18 ( `( target + 1 ) * threshold` ).
|
|
|
+
|
|
|
+## Verify tiles do not display past the maxDepth threshold
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Open the Javascript console.
|
|
|
+1. Ensure `maxDepth` is set to `2`.
|
|
|
+1. Enable `DEPTH` color mode.
|
|
|
+1. Click on tiles to view current depth in the console.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+No tiles are above or equal to the 2 max depth value.
|
|
|
+
|
|
|
+## Verify that tiles do not change when update() is not called
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Zoom all the way in.
|
|
|
+1. Disable the `enableUpdate` option.
|
|
|
+1. Zoom out.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Verify tiles no longer update with the camera view.
|
|
|
+
|
|
|
+## Verify tiles are only displayed within the camera frustum.
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Enable the third person camera view.
|
|
|
+1. Zoom in the main view so part of the tileset is cut off.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Verify only tiles in view of the frustum are displayed in the third person camera view.
|
|
|
+
|
|
|
+## Verify that multiple cameras are taken into account when calculating error
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Enable the third person camera view.
|
|
|
+1. Enable the second camera view.
|
|
|
+1. Enable `GEOMETRIC_ERROR` color mode.
|
|
|
+1. Zoom in the both cameras on opposite sides of the terrain so part of the tileset is cut off.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Verify only tiles in view of both cameras frustums are displayed in the third person camera view and that tiles nearest the cameras have the lowest geometric error.
|
|
|
+
|
|
|
+## Verify that raycasting works as expected
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Enable raycasting.
|
|
|
+1. Hover over the surface of the terrain.
|
|
|
+1. Repeat with firstHitOnly = false.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Verify the hit marker is on the point under the mouse and that the normal lines up with the surface.
|
|
|
+
|
|
|
+## Verify that raycasting works as expected with maxDepth = 0
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Enable raycasting.
|
|
|
+1. Set max depth option to 0.
|
|
|
+1. Hover over the surface of the terrain.
|
|
|
+1. Repeat with firstHitOnly = false.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Verify the hit marker is on the point under the mouse and that the normal lines up with the surface.
|
|
|
+
|
|
|
+## Verify debug bounds display when displayBoxBounds = true
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Enable display box bounds option.
|
|
|
+1. Move the camera around and zoom in and out.
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Verify the boxes change with the level of detail of the terrain.
|
|
|
+
|
|
|
+## Verify it does not pop to higher lod on zoom out
|
|
|
+
|
|
|
+#### steps
|
|
|
+
|
|
|
+1. Open the kitchen sink example.
|
|
|
+1. Set the error target to 2.
|
|
|
+1. Set the error threshold to 6.
|
|
|
+1. Zoom in all the way.
|
|
|
+1. Click rebuild.
|
|
|
+1. Wait for all tiles to load.
|
|
|
+1. Set the error threshold to 1000 (or zoom out).
|
|
|
+
|
|
|
+#### expected
|
|
|
+
|
|
|
+Verify the display does not change and the tiles to not disappear while parent tiles load.
|