[backport core/1.32] fix: remove LOD from vue nodes (#6981)

## Summary
Backport of #6950 onto core/1.32.

- cherry-picked 4b87b1fdc
- resolved conflicts by taking the upstream PNG expectations and
removing LOD bits from WidgetMarkdown while preserving cloud-specific
padding

## Testing
- pnpm typecheck

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6981-backport-core-1-32-fix-remove-LOD-from-vue-nodes-2b86d73d365081ac95fddfb272a0e105)
by [Unito](https://www.unito.io)

Co-authored-by: Simula_r <18093452+simula-r@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Christian Byrne
2025-11-26 21:55:24 -08:00
committed by GitHub
parent 5226de2963
commit d8efb2b646
27 changed files with 50 additions and 479 deletions

View File

@@ -1,69 +0,0 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
import { nextTick, reactive } from 'vue'
import { useLOD } from '@/renderer/extensions/vueNodes/lod/useLOD'
const mockSettingStore = reactive({
get: vi.fn(() => 8)
})
vi.mock('@/platform/settings/settingStore', () => ({
useSettingStore: () => mockSettingStore
}))
describe('useLOD', () => {
beforeEach(() => {
vi.restoreAllMocks()
vi.unstubAllGlobals()
mockSettingStore.get.mockReturnValue(8)
})
it('should calculate isLOD value based on zoom threshold correctly', async () => {
vi.stubGlobal('devicePixelRatio', 1)
const camera = reactive({ z: 1 })
const { isLOD } = useLOD(camera)
await nextTick()
expect(isLOD.value).toBe(false)
camera.z = 0.55
await nextTick()
expect(isLOD.value).toBe(true)
camera.z = 0.87
await nextTick()
expect(isLOD.value).toBe(false)
})
it('should handle a different devicePixelRatio value', async () => {
vi.stubGlobal('devicePixelRatio', 3) //Threshold with 8px minFontsize = 0.19
const camera = reactive({ z: 1 })
const { isLOD } = useLOD(camera)
await nextTick()
expect(isLOD.value).toBe(false)
camera.z = 0.18
await nextTick()
expect(isLOD.value).toBe(true)
})
it('should respond to different minFontSize settings', async () => {
vi.stubGlobal('devicePixelRatio', 1)
mockSettingStore.get.mockReturnValue(16) //Now threshold is 1.14
const camera = reactive({ z: 1 })
const { isLOD } = useLOD(camera)
await nextTick()
expect(isLOD.value).toBe(true)
camera.z = 1.15
await nextTick()
expect(isLOD.value).toBe(false)
})
})