fix: ensure renderer is initialized before operations

- Add _ensure_initialized() method to Viewer3DWidget
- Queue pending meshes until widget is shown
- Add remove_mesh() method to PygfxRenderer
- Fix all viewer methods to check initialization
This commit is contained in:
bklronin
2026-03-14 08:59:12 +01:00
parent 5371bf7c38
commit e13769840b
22 changed files with 2997 additions and 0 deletions
+7
View File
@@ -264,6 +264,13 @@ class PygfxRenderer(Renderer):
return True
return False
def remove_mesh(self, mesh_id: str) -> bool:
"""Remove a mesh by its ID."""
for obj in self._objects:
if obj.name == mesh_id:
return self.remove_object(obj)
return False
def clear_scene(self) -> None:
"""Remove all objects from the scene."""
for obj in self._objects[:]: