verify-tileset-handoff.mjs 1.1 KB

1234567891011121314151617181920
  1. import assert from 'node:assert/strict'
  2. import { isFineReadyAtCamera } from '../../src/modules/cockpit/services/tilesetLoading.js'
  3. const entry = (overrides = {}) => ({
  4. plan: { role: '', loadDistance: 1000 },
  5. instance: { show: true, tilesLoaded: true },
  6. contentReady: true,
  7. distance: 500,
  8. ...overrides,
  9. })
  10. assert.equal(isFineReadyAtCamera([entry()], (item) => item.distance), true)
  11. assert.equal(isFineReadyAtCamera([entry({ contentReady: false })], (item) => item.distance), false)
  12. assert.equal(isFineReadyAtCamera([entry({ instance: { show: true, tilesLoaded: false } })], (item) => item.distance), false)
  13. assert.equal(isFineReadyAtCamera([entry({ distance: 1100 })], (item) => item.distance), false)
  14. assert.equal(isFineReadyAtCamera([entry({ plan: { role: 'far', loadDistance: 1000 } })], (item) => item.distance), false)
  15. assert.equal(isFineReadyAtCamera([
  16. entry({ distance: 2500 }),
  17. entry({ distance: 800 }),
  18. ], (item) => item.distance), true)
  19. console.log(JSON.stringify({ passed: true, scope: 'local fine readiness preserves coarse coverage until rendered' }))