Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | 1x 1x | import { RetrieveStage, NearbyFrames } from '../../types'; import { RequestType, ImageQualityStatus } from '../../enums'; // Defines some nearby frames to replicate to const nearbyFrames: NearbyFrames[] = [ { offset: -1, imageQualityStatus: ImageQualityStatus.ADJACENT_REPLICATE, }, { offset: +1, imageQualityStatus: ImageQualityStatus.ADJACENT_REPLICATE, }, { offset: +2, imageQualityStatus: ImageQualityStatus.FAR_REPLICATE }, ]; /** * This configuration is designed to interleave the data requests, using * lossy/thumbnail requests when available, but falling back to full retrieve * requests in an interleaved manner. * The basic ordering is: * 1. Retrieve middle image, first, last * 2. Retrieve every 4th image, offset 1, lossy if available * 3. Retrieve every 4th image, offset 3, lossy if available * 4. Retrieve every 4th image, offset 0, full images * 5. Retrieve every 4th image, offset 2, full images * 6. Retrieve every 4th image, offsets 1 and 3, full images if not already done */ const interleavedRetrieveConfiguration: RetrieveStage[] = [ { id: 'initialImages', // Values between -1 and 1 are relative to size, so 0.5 is middle image // and 0 is first image, -1 is last image positions: [0.5, 0, -1], retrieveType: 'default', requestType: RequestType.Thumbnail, priority: 5, nearbyFrames, }, { id: 'quarterThumb', decimate: 4, offset: 3, requestType: RequestType.Thumbnail, retrieveType: 'multipleFast', priority: 6, nearbyFrames, }, { id: 'halfThumb', decimate: 4, offset: 1, priority: 7, requestType: RequestType.Thumbnail, retrieveType: 'multipleFast', nearbyFrames, }, { id: 'quarterFull', decimate: 4, offset: 2, priority: 8, requestType: RequestType.Thumbnail, retrieveType: 'multipleFinal', }, { id: 'halfFull', decimate: 4, offset: 0, priority: 9, requestType: RequestType.Thumbnail, retrieveType: 'multipleFinal', }, { id: 'threeQuarterFull', decimate: 4, offset: 1, priority: 10, requestType: RequestType.Thumbnail, retrieveType: 'multipleFinal', }, { id: 'finalFull', decimate: 4, offset: 3, priority: 11, requestType: RequestType.Thumbnail, retrieveType: 'multipleFinal', }, { // This goes back to basic retrieve to recover from retrieving against // servers returning errors for any of the above requests. id: 'errorRetrieve', }, ]; export default interleavedRetrieveConfiguration; |