Fix/vue nodes viewport culling (#5510)

* debug: disable culling flag

* fix: vue nodes LOD

* fix: viewport culling and improve perf

* fix: PR feedback and more perf improvements

* refactor: forEach to for of

* fix: PR feedback

* fix: PR feedback

* fix: PR feedback

* fix: PR feedback

---------

Co-authored-by: Jake Schroeder <jake.schroeder@isophex.com>
This commit is contained in:
Simula_r
2025-09-13 20:59:53 -07:00
committed by GitHub
parent bf054113f8
commit b1917c6469
2 changed files with 67 additions and 173 deletions

View File

@@ -40,7 +40,7 @@
>
<!-- Vue nodes rendered based on graph nodes -->
<VueGraphNode
v-for="nodeData in nodesToRender"
v-for="nodeData in allNodes"
:key="nodeData.id"
:node-data="nodeData"
:position="nodePositions.get(nodeData.id)"
@@ -183,12 +183,12 @@ const nodeEventHandlers = useNodeEventHandlers(vueNodeLifecycle.nodeManager)
const nodePositions = vueNodeLifecycle.nodePositions
const nodeSizes = vueNodeLifecycle.nodeSizes
const nodesToRender = viewportCulling.nodesToRender
const allNodes = viewportCulling.allNodes
const handleTransformUpdate = () => {
viewportCulling.handleTransformUpdate(
vueNodeLifecycle.detectChangesInRAF.value
)
viewportCulling.handleTransformUpdate()
// TODO: Fix paste position sync in separate PR
vueNodeLifecycle.detectChangesInRAF.value()
}
const handleNodeSelect = nodeEventHandlers.handleNodeSelect
const handleNodeCollapse = nodeEventHandlers.handleNodeCollapse