Skip to content

Commit

Permalink
refactor: improve Object3D disposal method (#918)
Browse files Browse the repository at this point in the history
- Remove unnecessary delete operations on mesh geometry and material
- Add TODO comment for Scene-specific cleanup
- Simplify material and geometry disposal logic
  • Loading branch information
alvarosabu authored Feb 6, 2025
1 parent e4f94e7 commit 1d40ccf
Showing 1 changed file with 1 addition and 4 deletions.
5 changes: 1 addition & 4 deletions src/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ export function disposeObject3D(object: TresObject): void {
children.forEach(child => disposeObject3D(child))

if (object instanceof Scene) {
// Optionally handle Scene-specific cleanup
// TODO: Handle Scene-specific cleanup
}
else {
const mesh = object as unknown as Partial<Mesh>
Expand All @@ -303,16 +303,13 @@ export function disposeObject3D(object: TresObject): void {
}
if (mesh.geometry) {
mesh.geometry.dispose()
delete mesh.geometry
}

if (Array.isArray(mesh.material)) {
mesh.material.forEach(material => disposeMaterial(material))
delete mesh.material
}
else if (mesh.material) {
disposeMaterial(mesh.material)
delete mesh.material
}
}
}
Expand Down

0 comments on commit 1d40ccf

Please sign in to comment.